直接上下代码:
1 package com.learn.jdbc.chap08; 2 3 import java.sql.Connection; 4 import java.sql.DatabaseMetaData; 5 6 import com.learn.jdbc.util.DbUtil; 7 8 /** 9 * 使用元数据分析数据库--使用DatabaseMetaData获取数据库基本信息 10 * @author Administrator 11 * 12 */ 13 public class Demo1 { 14 15 public static void main(String[] args) throws Exception { 16 DbUtil dbUtil = new DbUtil(); 17 Connection con = dbUtil.getCon(); 18 DatabaseMetaData dmd = con.getMetaData(); // 获取元数据 19 System.out.println("数据库名称:"+dmd.getDatabaseProductName()); 20 System.out.println("数据库版本:"+dmd.getDatabaseMajorVersion()+"."+dmd.getDatabaseMinorVersion()); 21 22 23 } 24 }
1 package com.learn.jdbc.chap08; 2 3 import java.sql.Connection; 4 import java.sql.PreparedStatement; 5 import java.sql.ResultSetMetaData; 6 7 import com.learn.jdbc.util.DbUtil; 8 9 /** 10 * 使用元数据分析数据库--使用ResultSetMetaData获取ResultSet对象中的信息 11 * @author Administrator 12 * 13 */ 14 public class Demo2 { 15 public static void main(String[] args) throws Exception { 16 DbUtil dbUtil = new DbUtil(); 17 Connection con = dbUtil.getCon(); 18 String sql="select * from sp_album_test"; 19 PreparedStatement pstmt = con.prepareStatement(sql); 20 ResultSetMetaData rsmd = pstmt.getMetaData(); // 获取元数据 21 int num = rsmd.getColumnCount(); // 获取元数据列的总数 22 System.out.println("共有"+num+"列"); 23 for (int i = 1; i <= num; i++) { 24 System.out.println(rsmd.getColumnName(i)+","+rsmd.getColumnTypeName(i)); 25 } 26 } 27 28 }