Java判断数据库表是否存在的方法

一、需求

最近在写一个程序,需要取数据库表的数据之前,需要先查看数据库是否存在该表否则就跳过该表。

二、解决方案(目前想到两种,以后遇到还会继续添加):

1、建立JDBC数据源,通过Java.sql.DatabaseMetaData接口来判断

    备注:参数分析

  getTables(String catalog,String schemaPattern,String tableNamePattern,String[] types)

    参数: catalog:目录名称,一般都为空.

    参数:schema:数据库名,对于oracle来说就用户名

    参数:tablename:表名称

    参数:type :表的类型(TABLE | VIEW)

    注意:在使用过程中,参数名称必须使用大写的。

2、使用数据库数据字典,直接用sql语句从数据库查询

      sql:select * from user_all_tables where table_name=‘tableName‘

如果结果为空则表示不存在,如何结果不为空则表示存在;

三、分析

考虑到程序运行过程的性能问题,方法一会占用连接池,从而影响程序的运行速度;因此个人建议,一般采用数据字典来判断数据库表是否存在。

时间: 2024-10-07 04:17:58

Java判断数据库表是否存在的方法的相关文章

判断数据库表、试图、存储过程等是否存在

1 判断数据库是否存在 if exists (select * from sys.databases where name = '数据库名')    drop database [数据库名] 2 判断表是否存在 if exists (select * from sysobjects where id = object_id(N'[表名]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)    drop table [表名] 3 判断存储过程是否存在 if

(转)java读取数据库表信息,子段

import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.List; /*** * 2014-07-21日: * oracle数据

java判断字符串是否为空的方法总结

http://blog.csdn.net/qq799499343/article/details/8492672 以下是java 判断字符串是否为空的四种方法: 方法一: 最多人使用的一个方法, 直观, 方便, 但效率很低: if(s == null ||"".equals(s)); 方法二: 比较字符串长度, 效率高, 是我知道的最好一个方法: if(s == null || s.length() <= 0); 方法三: Java SE 6.0 才开始提供的方法, 效率和方法二

MySQL---数据库从入门走向大神系列(七)-Java访问数据库配置及简单使用方法execute

从操作配置文件properties中读取连接字符串,通过该字符串进行数据连接,需要写三个文件其中,两个是java类,一个是后缀名为.properties的文件,该文件放在src工作目录下. 后缀为.properties的文件此处为其取名为jdbc.properties,其中的代码如下: ##MySQL driver=com.mysql.jdbc.Driver url=jdbc:mysql:///hncu?useUnicode=true&characterEncoding=utf-8 userna

Java判断数据库结果集ResultSet 中是否存在指定列名

最近最项目,项目的持久化部分用的是spring jdbc,查询出来的结果集要映射为对象,每次都在查询SQL的方法内定义私有的mapper 变量,内部实现mapRow 方法,似乎有些浪费,就想着定义一个公用的mapRow 实现,节省代码,方便维护. 在写的过程中,发现一个问题,就是涉及到一个很大的对象,属性非常多,但每次查询出来的属性却又都不一样,这样的公用mapRow 该怎么写呢,能否根据结果集中是否有某个属性,才让其映射,没有的就不再映射呢? 立马翻开jdk api,找到ResultSet ,

sql server 数据库表误删除的恢复方法

由于意外操作,在企业管理器里误删除了数据库的表,那么误删除了表数据怎么办呢? 很多人的一贯做法是先从日志恢复,如果从日志恢复不行就从mdf文件本身恢复. 那么误删除数据后,最先要做的是先分离数据库,停止数据库服务,吧mdf和ldf复制出来. 从mdf文件恢复数据早在几年前就应用到客户数据库,但是从mdf恢复数据有一定的局限性,mdf文件很容易被其他表的记录覆盖掉删除的记录,,就会出现从mdf恢复数据出现数据不完整或者出现数据重复的现象. 为了更好的服务客户,我们开发了两种工具,一种是用mdf进行

判断数据库表中是否存在某个字段

if exists (select * from syscolumns where id=object_id('表名') and name='字段名') print '有' else print '无'

mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享

摘要: 下文讲述清空数据库中所有表信息的方法分享,如下所示: 实验环境:sql server 2008 实现思路: 1.禁用所有约束,外键 2.禁用所有触发器 3.删除表数据 4.开启触发器 5.开启约束 CREATE PROCEDURE proc_deleteDateSql /* 生成清除数据库表数据的脚本方法分享 */ AS EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL' EXEC sp_MSForEachTable

关于数据库表前缀的认识

zblogPHP默认安装时,使用的是mysql数据库,负载能力更强! 那么 1.配置的时候,如何设置数据库表前缀呢? 2.两个.多个zblogPHP如何安装到同一个数据库? 下方回答下这个疑问: 在安装mysql时候会显示配置页面,如下图: 四个剪头分别为: 数据库用户名.数据库密码.数据库名.数据库表前缀! 最后一个大红箭头的就是安装zblogPHP默认时的前缀了,默认一律为:zbp_ 一般情况下如果一个mysql数据库只安装了一个zblogPHP,此时数据库表前缀使用默认即可,但如果如上图所