我从用户那里获取数据库的URL,用户,密码信息
Connection db = DriverManager.getConnection(url, user, pass);
稍后,我将动态地对此数据库执行操作。显然,我也捕获了错误,但是在我第一次连接数据库时,我想验证它是否具有将要使用的正确的表和列(更容易在开始时抛出错误“此数据库未正确设置”)而不是做很多事,然后然后找出数据库设置不正确)。
我该如何验证?
例如必须检查它的结构是否包含表名和列名以及类似的类型
create table user (
username varchar(16) not null,
primary key (username)
);
create table foo (
id int unsigned auto_increment not null,
one int,
two tinytext not null,
three int
);
答案 0 :(得分:0)
要使用与数据库无关的方式查询表及其列,请调用conn.getMetaData()
。
然后使用getTables(String catalog, String schemaPattern, String tableNamePattern, String\[\] types)
查询表信息。
使用getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern)
查询列信息。
有关其他可用方法,请参见DatabaseMetaData
的javadoc。