JDBC MetaData (元数据)
来源:互联网 发布:学c语言入门看什么书 编辑:程序博客网 时间:2024/05/19 16:36
►JDBC的元数据接口有:
►DatabaseMetaData数据库级
►ResultSetMetaData结果集级
DatabaseMetaData (数据库元数据)
在对数据源进行连接以后,得到一个Connection 的对象,可以从这个对象获得有关数据源的各种信息,包括关于数据库中的各个表,表中的各个列,数据类型和存储过程等各方面的信息。根据这些信息,JDBC 程序可以访问一个事先并不了解的数据库。获取这些信息的方法都是在DatabaseMetaData的对象上实现的,而DatabaseMetaData对象是在Connection对象之上获得的。
DatebaseMetData 是由Connection对象 getMetaData() 方法得到
►数据库的一些常用信息可通过以下方法获得。
getURL //返回一个String对象,代表数据库的URL。
getUserName() //返回此连接使用的数据库的用户名。
isReadOnly() //返回一个boolean值,指示数据库是否只允许读操作。
getDatabaseProduceName() //返回数据库的产品名称。
getDatabaseProduceVersion() //返回数据库的版本号。
getDriverName() //返回驱动程序的名称。
getDriverVersion() //返回驱动程序的版本号。
例
@Testpublic void aa() throws Exception{Connection conn=MysqlDbUtils.getConnection();DatabaseMetaData st=conn.getMetaData();System.out.println(st.getURL());System.out.println(st.getUserName());System.out.println(st.getDatabaseProductName());conn.close();}
根据结果集的元数据,可以得到一个查询结果集关于查询表中列的个数、各个列名、类型以及各个列的宽度等。
ResultSetMetaData 的对象可以由ResultSet 对象的getMetaData()方法得到。
ResultSetMetaData 对象的常用方法如下
ResultSet rs = stmt.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
rsmd.getColumnCount() //返回目前ResultSet 对象的列数。
rsmd.getColumnDisplaySize(int column); //返回column指定的列的最大宽度。
rsmd.getColumnLabel(int column) //返回column 指定列的标签。
rsmd.getColumnName(int column) //返回column 指定列的列名
例
public static List<Map> query(String sql) throws Exception{ Connection conn=getConnection(); PreparedStatement pst= conn.prepareStatement(sql); ResultSet rs=pst.executeQuery(); // 获取包含有关 ResultSet 对象列信息的 ResultSetMetaData 对象 ResultSetMetaData rsmd=rs.getMetaData(); //获取列的总数 int columnCount=rsmd.getColumnCount(); System.out.println(columnCount); List list=new ArrayList(); while(rs.next()){ Map map=new HashMap(); for(int i=1;i<=columnCount;i++){ //获取列名 String colName=rsmd.getColumnName(i); System.out.println(colName); //获取对应的值 String colValue=rs.getString(i); System.out.println(colValue); //以键值对的方式存入map集合中 map.put(colName, colValue); } list.add(map); } rs.close(); pst.close(); conn.close(); return list;}
阅读全文
0 0
- JDBC MetaData (元数据)
- 元数据(metadata)简介
- 【C#】metadata 元数据
- MetaData【元数据】
- 元数据 metadata
- metadata元数据
- metadata元数据
- 什么是元数据 (MetaData)
- 元数据(MetaData)
- metadata 元数据
- 元数据(MetaData)
- MetaData--元数据
- 元数据(MetaData)
- 元数据(Metadata)
- 元数据(MetaData)
- 元数据(MetaData)
- MetaData元数据
- 元数据(metadata)
- xcode IOS开发中如何让APP的不同版本共存于设备上
- 创建一个Mac OS X 下的Cocoa Application对话框程序
- 【机器学习】逻辑回归(matlab实现)
- 编译busybox提示arm-linux-gcc内容中arm-none-linux-gnueabi-找不到
- FZU 2195
- JDBC MetaData (元数据)
- Flask 自带jsonify 直接返回json一条龙
- Linux终端执行shell脚本,提示权限不够
- js去除数组中的空值,假值
- stdint.h[int8_t, int16_t, int32_t, int64_t]
- Java GC
- 卡尔曼滤波通俗理解(一)
- 小白福利!思维导图超详细绘制教程
- 一个三本学生的面试之旅