1. 程式人生 > 實用技巧 >MYSQL 之 JDBC(十): JDBC的元資料

MYSQL 之 JDBC(十): JDBC的元資料

  • 可以從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: |
 
*/ 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); } } }
View Code

————————————————
版權宣告:本文為CSDN博主「李英俊小朋友」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處連結及本宣告。
原文連結:https://blog.csdn.net/qq_21579045/article/details/105386353