public class MetaUtil extends Object
需要注意的是,此工具类在某些数据库(比如Oracle)下无效,此时需要手动在数据库配置中增加:
remarks = true useInformationSchema = true
| Constructor and Description |
|---|
MetaUtil() |
| Modifier and Type | Method and Description |
|---|---|
static Entity |
createLimitedEntity(DataSource ds,
String tableName)
创建带有字段限制的Entity对象
此方法读取数据库中对应表的字段列表,加入到Entity中,当Entity被设置内容时,会忽略对应表字段外的所有KEY |
static String |
getCatalog(Connection conn)
获取catalog,获取失败返回
null |
static String[] |
getColumnNames(DataSource ds,
String tableName)
获得表的所有列名
|
static String[] |
getColumnNames(ResultSet rs)
获得结果集的所有列名
|
static String[] |
getColumnNames(ResultSetMetaData metaData)
获得结果集的所有列名
|
static Map<String,IndexInfo> |
getIndexInfo(DatabaseMetaData metaData,
String catalog,
String schema,
String tableName)
获取指定表的索引信息。
|
static DatabaseMetaData |
getMetaData(Connection conn)
获取数据库连接的元数据信息。
|
static Set<String> |
getPrimaryKeys(DatabaseMetaData metaData,
String catalog,
String schema,
String tableName)
获取指定表的主键列名列表。
|
static String |
getRemarks(DatabaseMetaData metaData,
String catalog,
String schema,
String tableName)
获取指定表的备注信息。
|
static String |
getSchema(Connection conn)
获取schema,获取失败返回
null |
static Table |
getTableMeta(Connection conn,
String catalog,
String schema,
String tableName)
获得表的元信息
注意如果需要获取注释,某些数据库如MySQL,需要在配置中添加: remarks = true useInformationSchema = true |
static Table |
getTableMeta(DataSource ds,
String tableName)
获得表的元信息
注意如果需要获取注释,某些数据库如MySQL,需要在配置中添加: remarks = true useInformationSchema = true |
static Table |
getTableMeta(DataSource ds,
String catalog,
String schema,
String tableName)
获得表的元信息
注意如果需要获取注释,某些数据库如MySQL,需要在配置中添加: remarks = true useInformationSchema = true |
static List<String> |
getTableNames(DataSource ds)
获得所有表名
|
static List<String> |
getTableNames(DataSource ds,
String catalog,
String schema,
String tableNamePattern,
TableType... types)
获得所有表名
|
static List<String> |
getTableNames(DataSource ds,
String schema,
String tableNamePattern,
TableType... types)
获得所有表名
|
static List<String> |
getTableNames(DataSource ds,
String schema,
TableType... types)
获得所有表名
|
static List<String> |
getTableNames(DataSource ds,
TableType... types)
获得所有表名
|
static boolean |
isOracle(DatabaseMetaData metaData)
判断当前数据库是否为Oracle。
|
public static List<String> getTableNames(DataSource ds)
ds - 数据源public static List<String> getTableNames(DataSource ds, TableType... types)
ds - 数据源types - 表类型public static List<String> getTableNames(DataSource ds, String schema, TableType... types)
ds - 数据源schema - 要使用的数据库模式(在某些数据库系统中相当于命名空间,对于Oracle为用户名)types - 表类型public static List<String> getTableNames(DataSource ds, String schema, String tableNamePattern, TableType... types)
ds - 数据源schema - 要使用的数据库模式(在某些数据库系统中相当于命名空间,对于Oracle为用户名)tableNamePattern - 表名匹配模式,null表示匹配所有表types - 表类型public static List<String> getTableNames(DataSource ds, String catalog, String schema, String tableNamePattern, TableType... types)
ds - 数据源catalog - 要使用的数据库目录(在某些数据库系统中相当于数据库名称)schema - 要使用的数据库模式(在某些数据库系统中相当于命名空间,对于Oracle为用户名)tableNamePattern - 表名匹配模式,null表示匹配所有表types - 表类型public static String[] getColumnNames(ResultSet rs) throws DbException
rs - 结果集DbException - SQL执行异常public static String[] getColumnNames(ResultSetMetaData metaData) throws DbException
metaData - ResultSetMetaDataDbException - SQL执行异常public static String[] getColumnNames(DataSource ds, String tableName)
ds - 数据源tableName - 表名DbException - SQL执行异常public static Entity createLimitedEntity(DataSource ds, String tableName)
ds - 数据源tableName - 表名public static Table getTableMeta(DataSource ds, String tableName)
remarks = true
useInformationSchema = true
ds - 数据源tableName - 表名public static Table getTableMeta(DataSource ds, String catalog, String schema, String tableName)
remarks = true
useInformationSchema = true
ds - 数据源tableName - 表名catalog - catalog name,null表示自动获取,见:getCatalog(Connection)schema - a schema name pattern,null表示自动获取,见:getSchema(Connection)public static Table getTableMeta(Connection conn, String catalog, String schema, String tableName)
remarks = true
useInformationSchema = true
conn - 数据库连接对象,使用结束后不会关闭。tableName - 表名catalog - catalog name,null表示自动获取,见:getCatalog(Connection)schema - a schema name pattern,null表示自动获取,见:getSchema(Connection)public static String getCatalog(Connection conn)
nullconn - Connection 数据库连接,null时返回nullnullpublic static String getSchema(Connection conn)
nullconn - Connection 数据库连接,null时返回nullnullpublic static DatabaseMetaData getMetaData(Connection conn)
conn - 数据库连接对象。如果连接为null,则返回null。public static String getRemarks(DatabaseMetaData metaData, String catalog, String schema, String tableName)
metaData - 数据库元数据,用于查询表信息。catalog - 目录名称,用于指定查询的数据库(可为null,表示任意目录)。schema - 方案名称,用于指定表所属的schema(可为null,表示任意schema)。tableName - 表名称,指定要查询备注信息的表。public static Set<String> getPrimaryKeys(DatabaseMetaData metaData, String catalog, String schema, String tableName)
metaData - 数据库元数据,用于查询主键信息。catalog - 数据库目录,用于限定查询范围。schema - 数据库模式,用于限定查询范围。tableName - 表名,指定要查询主键的表。DbException - 如果查询过程中发生SQLException,将抛出DbException。public static Map<String,IndexInfo> getIndexInfo(DatabaseMetaData metaData, String catalog, String schema, String tableName)
metaData - 数据库元数据,用于查询索引信息。catalog - 数据库目录,用于限定查询范围。schema - 数据库模式,用于限定查询范围。tableName - 需要查询索引信息的表名。public static boolean isOracle(DatabaseMetaData metaData) throws DbException
metaData - 数据库元数据,用于获取数据库产品名称。DbException - 如果获取数据库产品名称时发生SQLException,将抛出DbException。Copyright © 2025. All rights reserved.