public class TestDemo { public static Connection getConnection() { Connection conn = null; try { Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://數據庫IP地址:3306/數據庫名稱"; String user = "數據庫用戶名"; String pass = "數據庫用戶密碼"; conn = DriverManager.getConnection(url, user, pass); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } public static void main(String[] args) { Connection conn = getConnection(); String sql = "select * from AccessType"; PreparedStatement stmt; try { stmt = conn.prepareStatement(sql); ResultSet rs = stmt.executeQuery(sql); ResultSetMetaData data = rs.getMetaData(); for (int i = 1; i <= data.getColumnCount(); i++) { // 獲得所有列的數目及實際列數 int columnCount = data.getColumnCount(); // 獲得指定列的列名 String columnName = data.getColumnName(i); // 獲得指定列的列值 int columnType = data.getColumnType(i); // 獲得指定列的數據類型名 String columnTypeName = data.getColumnTypeName(i); // 所在的Catalog名字 String catalogName = data.getCatalogName(i); // 對應數據類型的類 String columnClassName = data.getColumnClassName(i); // 在數據庫中類型的最大字符個數 int columnDisplaySize = data.getColumnDisplaySize(i); // 默認的列的標題 String columnLabel = data.getColumnLabel(i); // 獲得列的模式 String schemaName = data.getSchemaName(i); // 某列類型的精確度(類型的長度) int precision = data.getPrecision(i); // 小數點后的位數 int scale = data.getScale(i); // 獲取某列對應的表名 String tableName = data.getTableName(i); // 是否自動遞增 boolean isAutoInctement = data.isAutoIncrement(i); // 在數據庫中是否為貨幣型 boolean isCurrency = data.isCurrency(i); // 是否為空 int isNullable = data.isNullable(i); // 是否為只讀 boolean isReadOnly = data.isReadOnly(i); // 能否出現在where中 boolean isSearchable = data.isSearchable(i); System.out.println(columnCount); System.out.println("獲得列" + i + "的字段名稱:" + columnName); System.out.println("獲得列" + i + "的類型,返回SqlType中的編號:" + columnType); System.out.println("獲得列" + i + "的數據類型名:" + columnTypeName); System.out.println("獲得列" + i + "所在的Catalog名字:" + catalogName); System.out.println("獲得列" + i + "對應數據類型的類:" + columnClassName); System.out.println("獲得列" + i + "在數據庫中類型的最大字符個數:" + columnDisplaySize); System.out.println("獲得列" + i + "的默認的列的標題:" + columnLabel); System.out.println("獲得列" + i + "的模式:" + schemaName); System.out.println("獲得列" + i + "類型的精確度(類型的長度):" + precision); System.out.println("獲得列" + i + "小數點后的位數:" + scale); System.out.println("獲得列" + i + "對應的表名:" + tableName); System.out.println("獲得列" + i + "是否自動遞增:" + isAutoInctement); System.out.println("獲得列" + i + "在數據庫中是否為貨幣型:" + isCurrency); System.out.println("獲得列" + i + "是否為空:" + isNullable); System.out.println("獲得列" + i + "是否為只讀:" + isReadOnly); System.out.println("獲得列" + i + "能否出現在where中:" + isSearchable); } } catch (SQLException e) { e.printStackTrace(); } } }