2010-12-15 83 views
6

如何在java中獲取數據庫的表結構?如何在java中獲取數據庫的表結構?

+2

您需要爲此問題添加上下文和其他詳細信息。原來,這是不可能回答的。 – Cam 2010-12-15 11:35:39

+0

其實我想採取SQL數據庫的備份。請在這方面提供幫助.i -e算法是什麼,或者涉及到什麼步驟? – adnan 2010-12-15 13:11:23

+0

您可以使用SHOW TABLES,然後每個結果都會有一個包含表名的行。使用SHOW CREATE TABLE 來獲取表創建代碼。 – Felype 2013-07-04 15:18:11

回答

13

使用DatabaseMetaData獲取表信息。

您可以使用getTablexxx()getColumnxx()方法來獲取表信息。

Connection conn = DriverManager.getConnection(.....); 
DatabaseMetaData dbmd = conn.getMetaData(); 
dbmd.getxxxx(); 
+0

還有ResultSetMetaData:http://download.oracle.com/javase/6/docs/api/java/sql/ResultSetMetaData.html – 2010-12-15 11:38:53

+3

+1。這是官方界面,但它是一個可怕的界面。它返回你必須解析的ResultSet。他們可能已經在一些JDBC版本中爲這些數據結構引入了適當的接口。 – Thilo 2010-12-15 11:39:20

-2

的一種方法是根據您現有的數據庫使用hibernate,逆向工程和生成實體bean。

0

如果您只是在乎能否在不同服務器上重新創建表,則可以使用SHOW TABLES獲取表的列表,然後使用SHOW CREATE TABLE foo獲取CREATE TABLE命令。你也可以看看mysqldump程序,看看它是否更適合你的需求。

約書亞