生活随笔
收集整理的這篇文章主要介紹了
通过java查询数据库表结构
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
public static void getConnAndTableStruct() {Connection connection = null;PreparedStatement pstmt = null;ResultSetMetaData rsmd = null;try {// mysql連接//Class.forName("org.gjt.mm.mysql.Driver");//connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");// oracle連接Class.forName("oracle.jdbc.driver.OracleDriver");String url="jdbc:oracle:thin:@192.168.12.12:1521:db";connection=DriverManager.getConnection(url,"manager","manager");pstmt = (PreparedStatement) connection.prepareStatement("select * from A_STAT");pstmt.execute(); // 這點特別要注意:如果是Oracle而對于mysql可以不用加.rsmd = (ResultSetMetaData) pstmt.getMetaData();//className = "User";//tableName = "user";for (int i = 1; i < rsmd.getColumnCount() + 1; i++) {//rsmd.getColumnName(i);//rsmd.getColumnClassName(i).substring(rsmd.getColumnClassName(i).lastIndexOf(".") + 1);System.out.println(rsmd.getColumnClassName(i));System.out.println(rsmd.getColumnName(i));System.out.println(rsmd.getColumnTypeName(i));System.out.println(rsmd.getPrecision(i));System.out.println(rsmd.getScale(i));System.out.println(rsmd.isNullable(i));//0 不能為空 1可以為空System.out.println("=============================");System.out.println("=============================");System.out.println("=============================");System.out.println("=============================");System.out.println("=============================");System.out.println("=============================");// System.out.println(rsmd.getColumnDisplaySize(i));
// System.out.println(rsmd.getColumnLabel(i));
// System.out.println(rsmd.getPrecision(i));
// System.out.println(rsmd.getColumnDisplaySize(i));
// System.out.println(rsmd.getColumnDisplaySize(i));
// System.out.println(rsmd.getColumnName(i) + " " + rsmd.getColumnTypeName(i) + " " + rsmd.getColumnClassName(i) + " " + rsmd.getTableName(i));}} catch (ClassNotFoundException cnfex) {cnfex.printStackTrace();} catch (SQLException sqlex) {sqlex.printStackTrace();}}
ResultSetMetaData 對象可以用于查找 ResultSet 中的列的類型和特性。
方法索引?
getCatalogName(int)?
獲得列的表的目錄名。?
getColumnCount()?
獲得 ResultSet 中的列數(shù)。?
getColumnDisplaySize(int)?
獲得列的正常的最大字符寬度。?
getColumnLabel(int)?
獲得打印輸出和顯示的建議列標題。?
getColumnName(int)?
獲得列名。?
getColumnType(int)?
獲得一個列的 SQL 類型。?
getColumnTypeName(int)?
獲得一個列的數(shù)據(jù)源特定的類型名。?
getPrecision(int)?
獲得一個列的十進制數(shù)字的位數(shù)。?
getScale(int)?
獲得一個列的十進制小數(shù)點右面數(shù)字的位數(shù)。?
getSchemaName(int)?
獲得一個列的表的模式。?
getTableName(int)?
獲得列的表名。?
isAutoIncrement(int)?
列是否自動計數(shù),因此它是只讀的。?
isCaseSensitive(int)?
列是否區(qū)分大小寫。?
isCurrency(int)?
列是否是通用的。?
isDefinitelyWritable(int)?
對列的寫操作是否一定成功。?
isNullable(int)?
在該列中是否可以放一個 NULL 值。?
isReadOnly(int)?
列是否是不可寫的。?
isSearchable(int)?
該列是否是可以查詢的。?
isSigned(int)?
該列是否是有符號數(shù)。?
isWritable(int)?
對該列的寫操作是否會成功。
轉載于:https://www.cnblogs.com/xavijing/p/3534683.html
總結
以上是生活随笔為你收集整理的通过java查询数据库表结构的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。