gpt4 book ai didi

java - 如何使用 Java 显示我的数据库?

转载 作者:行者123 更新时间:2023-11-29 11:42:36 24 4
gpt4 key购买 nike

我正在编写一个 Java 实用程序来为我的 PC 中的所有数据库制作安全副本。我知道如何对时间进行编程,并且知道如何使用表,但不知道如何使用 JList 或 JTable 列出程序中的所有数据库。

我该怎么做?

谢谢大家!

最佳答案

不确定什么数据库?大多数数据库都有jdbc连接(谷歌开源解决方案,数据库名称和jdbc)。 https://en.wikipedia.org/wiki/Java_Database_Connectivity

通过 jdbc 连接,您始终可以根据查询创建自己的数据结构...并将其放入 jtable 中。

另一个技巧(但如果您想制作一个具有良好接口(interface)的通用解决方案):看看 swingx 和 jxtables?有一些不错的功能...

https://java.net/projects/swingx/

他们有一些很好的数据库接口(interface),用于连接并在表格(和开源)中显示它们:

https://java.net/projects/databinding/sources/svn/content/trunk/src/java/org/jdesktop/dataset/DataConnection.java?rev=421

正如 Andreas 所说,使用默认的 jdbc 类和函数会有所帮助。大多数开源 jdbc 都有很好的描述。

一些未知但非常好的jdbc连接技巧:

他们都有很好的示例和测试(csv jdbc)来展示它是如何工作的(仅谷歌),其他类型的 jdbc 连接也有相同的计数

您可以在上面找到代码,但根据备注中的要求,这里是如何从 h2 db 获取表名的示例(大多数 jdbc 工作原理相同):

public ArrayList<String> getTableNames(boolean withSystemTables)
throws SQLException {
// Note: system table are tables like Catalogue
ArrayList<String> tables = new ArrayList<String>();
DatabaseMetaData metadata = getMetaData();
String tableNamePattern = null;
String catalog = null;
String schemaPattern = null;
String[] types = { "TABLE" };
if (withSystemTables) {
types = null;
}
ResultSet rs = metadata.getTables(catalog, schemaPattern,
tableNamePattern, types);
if (rs == null) {
return tables;
}
boolean debugFunction=false;
while (rs.next()) {
String table = rs.getString("TABLE_NAME");
tables.add(table);
if (debugFunction){
String tableType=rs.getString("TABLE_TYPE");
String msg=table+" : "+tableType;
//System.out.println(msg);
log.fine(msg);
}
}
rs.close();
return tables;

}

注意:上面的代码可以更短,为了便于阅读和理解,我将其分开。

关于java - 如何使用 Java 显示我的数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35517905/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com