元数据

元数据(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):获取结果集中指定列的类型
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值