Java 通过JDBC获得连接以后,得到一个Connection 对象,可以从这个对象获得有关数据库管理系统的各种信息,包括数据库中的各个表,表中的各个列,数据类型,触发器,存储过程等各方面的信息。根据这些信息,JDBC可以访问一个实现事先并不了解的数据库。
获取这些信息的方法都是在DatabaseMetaData类的对象上实现的,而DataBaseMetaData对象是在Connection对象上获得的。
DatabaseMetaData 类中提供了许多方法用于获得数据源的各种信息,通过这些方法可以非常详细的了解数据库的信息:
1 /** 2 * 查询特定数据库中的所有表 3 * @param connection 数据库连接对象 4 * @return 数据库表的list 5 */ 6 public static List<String> getTables(Connection connection){ 7 try { 8 List<String> tableList = new ArrayList<>(); 9 DatabaseMetaData metaData = connection.getMetaData(); 10 ResultSet resultSet = metaData.getTables(null, null, null, new String[]{"TABLE"}); 11 while (resultSet.next()){ 12 tableList.add(resultSet.getString(3)); 13 } 14 return tableList; 15 } catch (SQLException e) { 16 e.printStackTrace(); 17 } 18 return null; 19 }
可用于获取关于 ResultSet 对象中列的类型和属性信息的对象:
JDBC 元数据 (DatabaseMetaData,ResultSetMetaData )
原文:http://www.cnblogs.com/infaraway/p/6509342.html