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

一、需求

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

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

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

                

    备注:参数分析

    getConnection("jdbc:oracle:" + "thin:@127.0.0.1:1521:orcl", "用户名","密码");

        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'

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

           

 

 

 

三、分析

 

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

 

posted @ 2017-03-21 11:29  Mr_nie  阅读(20875)  评论(0编辑  收藏  举报