Java 获取所有数据库并转换为字符串数组
如何在java中将所有数据库从服务器添加到字符串数组?我正在使用JOOQAPI执行SQL语句,我需要在comboBox中获取所有数据库,在这里我可以选择特定的数据库。您有几个选项。例如,您可以使用生成的 来自jOOQ meta的类(或自己生成信息_模式), 然后写:Java 获取所有数据库并转换为字符串数组,java,sql,database,arrays,jooq,Java,Sql,Database,Arrays,Jooq,如何在java中将所有数据库从服务器添加到字符串数组?我正在使用JOOQAPI执行SQL语句,我需要在comboBox中获取所有数据库,在这里我可以选择特定的数据库。您有几个选项。例如,您可以使用生成的 来自jOOQ meta的类(或自己生成信息_模式), 然后写: Factory create = new Factory(connection, dialect); String[] array = create.selectDistinct(TABLES.TABLE_SCHEMA)
Factory create = new Factory(connection, dialect);
String[] array =
create.selectDistinct(TABLES.TABLE_SCHEMA)
.from(TABLES)
.fetchArray(TABLES.TABLE_SCHEMA);
当然,通过普通SQL也可以实现这一点:
String[] array =
create.selectDistinct(field("table_schema"))
.from("information_schema.TABLES") // Watch for case-sensitivity on MySQL
.fetchArray(0, String.class);
或者,使用显示表格
命令:
String[] array =
create.fetch("SHOW TABLES")
.intoArray(0, String.class);
另一种选择是从JDBC的数据库元数据中读取:
Connection connection = ...;
DatabaseMetaData meta = connection.getMetaData();
String[] array = create.fetch(meta.getSchemas()).intoArray(0, String.class);
在jOOQ 3.0中,您还可以通过jOOQ API读取元数据:
List<Schema> schemas = create.meta().getSchemas();
List schemas=create.meta().getSchemas();
什么是底层数据库系统?MySQL,在Linux服务器“show databases”下运行此命令提供所有数据库names@HRigger:我的服务器上有多个数据库,我需要获取ComboBox中列出的所有数据库谢谢您的详细回答,我已使用最后一个选项解决了问题。