JDBC中獲取資料表的資訊

2021-09-30 13:14:58 字數 1157 閱讀 9902

1. jdbc連線mysql的**很標準,很簡單。

class.forname("com.mysql.jdbc.driver").newinstance();

connection conn = drivermanager

.getconnection("jdbc:mysql://localhost/test?user=root&password=123456");

2. 下面就是獲取表的資訊。

m_dbmetadata = m_connection.getmetadata();

resultset tableret = m_dbmetadata.gettables(null, "%",m_tablename,new string);

其中"%"就是表示*的意思,也就是任意所有的意思。其中m_tablename就是要獲取的資料表的名字,如果想獲取所有的表的名字,就可以使用"%"來作為引數了。

3. 提取表的名字。

while(tableret.next) system.out.println(tableret.getstring("table_name"));

通過getstring("table_name"),就可以獲取表的名字了。

從這裡可以看出,前面通過gettables的介面的返回,jdbc是將其所有的結果,儲存在乙個類似table的記憶體結構中,而其中table_name這個名字的字段就是每個表的名字。

4. 提取表內的字段的名字和型別

string columnname;

string columntype;

resultset colret = m_dbmetadata.getcolumns(null,"%", m_tablename,"%");

while(colret.next())

jdbc裡面通過getcolumns的介面,實現對字段的查詢。跟gettables一樣,"%"表示所有任意的(字段),而m_tablename就是資料表的名字。

getcolumns的返回也是將所有的字段放到乙個類似的記憶體中的表,而column_name就是欄位的名字,type_name就是資料型別,比如"int","int unsigned"等等,column_size返回整數,就是欄位的長度,比如定義的int(8)的字段,返回就是8,最後nullable,返回1就表示可以是null,而0就表示not null。

JDBC中獲取資料表的資訊

jdbc中通過metadata來獲取具體的表的相關資訊。可以查詢資料庫中的有哪些表,表有哪些字段,欄位的屬性等等。metadata中通過一系列get 函式,將這些資訊存放到resultset裡面,然後返回給使用者。關於metadata的說明網上也有不少,這裡我只是從我自身學習的角度來記錄一下簡單使用...

JDBC 獲取表中列資訊

開始 現在有這麼個需求,1.知道乙個表名 2.通過表名獲取表中所有的列 3.知道列的一些資訊 4.包括列名,是否可空,是否唯一,是否主鍵,資料型別,注釋 方法 主要使用兩個方法 resultset colrs con.getmetadata getcolumns null,tablename,res...

JDBC檢視資料表結構

在jdbc連線oracle資料庫成功之後,怎麼取得資料庫配置資訊及資料庫表和字段的相關資訊?本文做一簡單介紹。以下是連線資料庫的例子 connectiondb cdb new connectiondb 新建資料庫連線物件 databasemetadata meta cdb.createconnect...