Java代码判断数据库中某张表是否存在

最近在开发一个同步数据的统计任务的时候遇到一个问题:要在Java代码中判断数据库中某张表是否存在,查资料后,总结了以下两种方法:

1、使用JdbcTemplate bean
public boolean validateTableNameExist(String tableName) {
           int tableNum = jdbcTemplate.queryForInt("SELECT COUNT(*) FROM ALL_TABLES WHERE TABLE_NAME=" + tableName);
           if (tableNum > 0) {
                 return true;
           }else {
                 return false;
           }
     }
2、使用Connection对象
public boolean validateTableNameExist(String tableName) {
         Connection con = getYourCnnection;
         ResultSet rs = con.getMetaData().getTables(null, null, tableName, null);
         if (rs.next()) {
               return true;
         }else {
               return false;
         }
     }
附录:
1、 检查某表中是否存在某个字段,注意大写
select count(*) from User_Tab_Columns where  table_name='TABLENAME' and column_name='COLUMNNAME';
 2、 检查某数据库内,是否存在某张表,注意表名要大写
select count(*) from all_tables where table_name='TABLENAME';


版权声明:本文为lmb55原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。