MYSQL 之 JDBC(十): JDBC的元資料
阿新 • • 發佈:2020-06-28
-
可以從Connection物件中獲得有關資料庫管理系統的各種資訊
-
獲取這些資訊的方法都是在DatabaseMetaData類中。
-
DatabaseMetaData:描述資料庫的元資料物件
-
ResultSetMetaData:描述結果集的元資料物件
package com.litian.jdbc; import java.sql.*; /** * @author: Li Tian * @contact: [email protected] * @software: IntelliJ IDEA * @file: MetaDataTest.java * @time: 2020/3/29 15:12 * @desc: |View Code*/ public class MetaDataTest { public static void main(String[] args){ testDatabaseMetaData(); testResultSetMetaData(); } /** * ResultSetMetaData:描述結果集的元資料物件 * 可以得到結果集中的基本資訊:結果集中有哪些列,列名、列的別名等。 * 結合反射可以寫出通用的查詢方法 */ public static void testResultSetMetaData(){ Connection conn= null; PreparedStatement ps = null; ResultSet rs = null; try { conn = JDBCTools.getConnection(); String sql = "select id, username 姓名, pwd from t_user"; ps = conn.prepareStatement(sql); rs = ps.executeQuery(); // 1. 得到ResultSetMetaData物件ResultSetMetaData rsmd = rs.getMetaData(); // 2. 得到列的個數 int columnCount = rsmd.getColumnCount(); System.out.println(columnCount); for (int i = 0; i < columnCount; i++) { // 3. 得到列名 String columnName = rsmd.getColumnName(i + 1); // 4. 得到列的別名 String columnLabel = rsmd.getColumnLabel(i + 1); System.out.println(columnName + "-->" + columnLabel); } } catch (Exception e) { e.printStackTrace(); } finally { JDBCTools.release(rs, ps, conn); } } /** * DatabaseMetaData是描述資料庫的元資料物件 * 可以由Connection得到 */ public static void testDatabaseMetaData(){ Connection conn = null; ResultSet rs = null; try { conn = JDBCTools.getConnection(); DatabaseMetaData data = conn.getMetaData(); // 可以得到資料庫本身的一些基本資訊 // 1. 得到資料庫的版本號 int version = data.getDatabaseMajorVersion(); System.out.println(version); // 2. 得到連線資料庫的使用者名稱 String user = data.getUserName(); System.out.println(user); // 3. 得到MySQL中有哪些資料庫 rs = data.getCatalogs(); while (rs.next()) { System.out.println(rs.getString(1)); } } catch (Exception e) { e.printStackTrace(); } finally { JDBCTools.release(rs, null, conn); } } }
————————————————
版權宣告:本文為CSDN博主「李英俊小朋友」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/qq_21579045/article/details/105386353