通过JDK API 获取数据库元数据(反射数据库)
2012-07-15 00:15
351 查看
package org.fkjava.metadata; import java.sql.*; import org.fkjava.factory.ConnectionFactory; /** * 测试元数据 * */ public class ResultSetMetaData_Test { public static void showMetadata(Connection con) throws SQLException { DatabaseMetaData md = con.getMetaData(); //获取底层数据库的主版本号。 System.out.println("getDatabaseMajorVersion: " + md.getDatabaseMajorVersion()); //底层数据库的次版本号。 System.out.println("getDatabaseMinorVersion: " + md.getDatabaseMinorVersion()); // 获取此数据库产品的名称。 System.out.println("getDatabaseProductName: " + md.getDatabaseProductName()); // 获取此数据库产品的版本号。 System.out.println("getDatabaseProductVersion: " + md.getDatabaseProductVersion()); //获取此数据库的默认事务隔离级别。 System.out.println("getDefaultTransactionIsolation: " + md.getDefaultTransactionIsolation()); //获取此 DBMS 的 URL。 System.out.println("getURL: " + md.getURL()); // 获取此数据库的已知的用户名称。 System.out.println("getUserName: " + md.getUserName()); } public static void showMeatdataOfTable(Connection con, String tablename) throws SQLException { Statement stm = con.createStatement(); ResultSet rs = stm.executeQuery("select * from " + tablename); //可用于获取关于 ResultSet 对象中列的类型和属性信息的对象 ResultSetMetaData rmsds = rs.getMetaData(); //返回此 ResultSet 对象中的列数。 int count = rmsds.getColumnCount(); while(rs.next()){ for (int i = 1; i <= count; i++) { // 获得列名和数据类型 System.out.print("列名: " + rmsds.getColumnName(i) + "\t"); System.out.print("数据类型: " + rmsds.getColumnTypeName(i) + "\t"); System.out.print("字段值: " + rs.getObject(rmsds.getColumnName(i))); System.out.println(); } System.out.println(); } } public static void main(String[] args) { Connection con = null; try { con = ConnectionFactory.getConnection(); System.out.println("获得数据信息:"); showMetadata(con); System.out.println(); System.out.println("获得表的数据信息:"); showMeatdataOfTable(con, "tb_user"); System.out.println(); } catch (Exception e) { e.printStackTrace(); } finally { ConnectionFactory.close(con, null, null); } } }
相关文章推荐
- mysql数据库连接池使用(三)数据库元数据信息反射数据库获取数据库信息
- mysql数据库连接池使用(三)数据库元数据信息反射数据库获取数据库信息
- 安卓通过反射机制获取隐藏的API
- Android开发之通过反射获取到挂断电话的API
- 跳过hibernate获取DBConnection工具类,通过JDBC API访问数据库
- ORM框架通过映射(反射)获取数据库的数据
- 【转】C#中通过API调用获取文件图标
- 通过反射获取泛型实例
- Spring通过dataSource获取数据库的连接测试
- android 上通过反射,获取存储器列表
- java通过类的反射获取页面修改字段前后值以及字段名称
- 通过构造函数反射--通过一个对象获取一个完整的包名和类名
- 通过java反射获取任意对象的字段名及字段值
- 通过jdbc获取数据库中的表结构 主键 各个表字段类型及应用生成实体类
- 万能的JDBC工具类。通过反射机制直接简单处理数据库操作
- 通过java反射获取对象的字段名和字段值
- java 通过反射获取泛型的类型
- 通过反射方式获取Field值
- 通过反射将数据库数据输入到指定类
- 通过SQL获取MSSQL的数据库相关信息