本文主要介绍DatabaseMetaData和ResultSetMetaData的使用。
首先我们可以通过DatabaseMetaData获取数据库的一些基本信息:
public static void main(String[] args) throws Exception {
Connection con = dbUtil.getCon();
DatabaseMetaData dmd = con.getMetaData();
System.out.println("数据库名称:" + dmd.getDatabaseProductName());
System.out.println("数据库版本号:" + dmd.getDatabaseMajorVersion() + "." + dmd.getDatabaseMinorVersion());
}
除此之外,我们还可以使用ResultSetMetaData获取ResultSet对象中的信息:
private static void listBook() throws Exception {
Connection con = dbUtil.getCon();
String sql = "select * from t_book";
PreparedStatement pstmt = con.prepareStatement(sql);
ResultSetMetaData rsmd = pstmt.getMetaData();
int num = rsmd.getColumnCount();
System.out.println("共有" + num + "列");
for (int i = 1; i <= num; i++) {
System.out.println(rsmd.getColumnName(i) + "," + rsmd.getColumnTypeName(i));
}
dbUtil.close(pstmt, con);
}
得到结果:
共有5列
id,INT
bookName,VARCHAR
author,VARCHAR
price,DECIMAL
bookTypeId,INT