標籤:databasemetadata java jdbc resultsetmetadata
(1)DatabaseMetaData:
package javase.jdbc;import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.ResultSet;import java.sql.SQLException;public class DatabaseMetaDataDemo {public static void main(String[] args) {Connection connection = JDBCConnection.getConnection();try {DatabaseMetaData dMetaData = connection.getMetaData(); // 執行個體化中繼資料System.out.println("資料庫名:" + dMetaData.getDatabaseProductName());System.out.println("資料庫版本: "+ dMetaData.getDatabaseProductVersion());ResultSet resultSet = dMetaData.getPrimaryKeys(null, null, "users");while (resultSet.next()) {System.out.println("表類別:" + resultSet.getString(1));System.out.println("表模式:" + resultSet.getString(2));System.out.println("表名稱:" + resultSet.getString(3));System.out.println("列名稱:" + resultSet.getString(4));System.out.println("主鍵:" + resultSet.getString(5));System.out.println("主鍵名稱:" + resultSet.getString(6));}} catch (SQLException e) {e.printStackTrace();}}}
輸出:
資料庫名:MySQL資料庫版本: 5.5.19表類別:jdbcdemo表模式:null表名稱:users列名稱:id主鍵:1主鍵名稱:PRIMARY
(2)ResultSetMetaData:
package javase.jdbc;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSetMetaData;import java.sql.SQLException;public class ResultSetMetaDataDemo {public static void main(String[] args) {String sql = "SELECT id,username,password,classId FROM users";Connection connection = JDBCConnection.getConnection();try {PreparedStatement pStatement = connection.prepareStatement(sql);ResultSetMetaData rSetMetaData = pStatement.getMetaData();System.out.println("返回資料有" + rSetMetaData.getColumnCount() + "個欄位");if (rSetMetaData.isAutoIncrement(1))System.out.println(rSetMetaData.getColumnName(1) + "欄位是自增的");} catch (SQLException e) {e.printStackTrace();}}}
輸出:
返回資料有4個欄位id欄位是自增的
本文出自 “zifangsky的個人部落格” 部落格,請務必保留此出處http://983836259.blog.51cto.com/7311475/1767351
Java基礎系列15:JDBC中使用中繼資料分析資料庫