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


1、使用JdbcTemplate bean

1. public boolean validateTableNameExist(String tableName) {
2. int tableNum = jdbcTemplate.queryForInt("SELECT COUNT(*) FROM ALL_TABLES WHERE TABLE_NAME=" + tableName);
3. if (tableNum > 0) {
4. return true;
5. else {
6. return false;
7. }
8. }


2、使用Connection对象


1. public boolean validateTableNameExist(String tableName) {
2. Connection con = getYourCnnection;
3. null, null, tableName, null);
4. if (rs.next()) {
5. return true;
6. else {
7. return false;
8. }
9. }


附录:


检查某表中是否存在某个字段,注意大写


1. select count(*) from User_Tab_Columns where  table_name='TABLENAME' and column_name='COLUMNNAME';


 2、 检查某数据库内,是否存在某张表,注意表名要大写

1. select count(*) from all_tables where table_name='TABLENAME';