JDBC编程中如何判断表是否存在


在java.sql包中有一个这样的接口 DatabaseMetaData接口,通过Connection.getMetaData()我们可以获得这个接口的实现。

接口中有一个getTables方法,返回ResultSet。通过getTables方法我们即可获得指定名称的表。例如:

DatabaseMetaData dmd = conn.getMetaData();
ResultSet rs = dmd.getTables(null, null, “TEST”, null);
if (rs.next) return true;// 指定的表存在

关于getTables参数的含义,大家可以参考javadoc,说得很明白。这里需要提醒的是:在Oracle中,我们使用sql的时候,表名是不区分大小写的,但是getTables中的表名必须使用大写,因为Oracle默认使用大写存储表名,否则会找不到指定的表。

Advertisements

发表评论

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 更改 )

Twitter picture

You are commenting using your Twitter account. Log Out / 更改 )

Facebook photo

You are commenting using your Facebook account. Log Out / 更改 )

Google+ photo

You are commenting using your Google+ account. Log Out / 更改 )

Connecting to %s