元数据(metaData)
指数据库中 库、表、列的定义信息
- DataBaseMetaData 数据库元数据
- ParameterMetaData 参数元数据
- ResultSetMetaDate 结果集元数据
数据库元数据(DatabaseMetaData)
java.sql.DatabaseMetaData
public interface DatabaseMetaData extends Wrapper
此接口由驱动程序供应商实现。
DatabaseMetaData的获取方式
- 在Connection接口中,有成员方法
- DatabaseMetaData getMetaData() throws SQLException
- 获取一个 DatabaseMetaData 对象,该对象包含关于此 Connection 对象所连接的数据库的元数据。元数据包括关于数据库的表、受支持的 SQL 语法、存储过程、此连接功能等等的信息。
常用API
通过DataBaseMetaData 获得 数据库链接的基本参数
- getURL():返回一个String类对象,代表数据库的URL
- getUserName():返回连接当前数据库管理系统的用户名
- getDriverName():返回驱动程序的名称
- getPrimaryKeys(String catalog,String schema,String table);获取表中主键的相关描述
- catalog - 类别名称;当前数据库名;该参数为 “” 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
- schema - 模式名称;它必须与存储在数据库中的模式名称匹配;该参数为 “” 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
- table - 表名称;它必须与存储在数据库中的表名称匹配
获得数据库、表、主键、外键的定义信息
- getTables()
- getColumns()
- getPrimaryKeys()
参数元数据(ParameterMetaData)
java.sql.ParameterMetaData
public interface ParameterMetaData extends Wrapper
获取SQL语句中占位符的相关信息
获取ParameterMetaData的方式
- 接口PreparedStatement 中有成员方法
- ParameterMetaData getParameterMetaData() throws SQLException
- 返回此Prepa对象的参数的编号、类型、属性。
常用API
- getParameterCount():获取参数个数
- getParameterTypeName():获取参数的类型
- 注意:在获取参数类型时产生异常
- java.sql.SQLException:Parameter metadata not available for the given statement
- 解决方案:
- 在url后添加参数
- jdbc :mysql:///zst_db3?generateSimpleParameterMetadata = true
- 添加这个参数后,我们再获取,它的结果也是varchar,原因:是MySQL驱动的支持问题。
结果集元数据(ResultSetMetaData)
java.sql.ResultSetMetaData
public interface ResultSetMetaData extends Wrapper
获取方式
- ResultSet接口中有成员方法
- ResultSetMetaData getMetaData() throws SQLException
- 获取此ResultSet对象的列的编号、类型和属性
常用API
- getColumnCount();获取结果集中列数量
- getColumnName(int):获取结果集指定列的名称
- getColumnTypeName(int):获取结果集中指定列的类型