一、需求
最近在寫一個程序,需要取數據庫表的數據之前,需要先查看數據庫是否存在該表否則就跳過該表。
二、解決方案(目前想到兩種,以后遇到還會繼續添加):
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'
如果結果為空則表示不存在,如何結果不為空則表示存在;

三、分析
考慮到程序運行過程的性能問題,方法一會占用連接池,從而影響程序的運行速度;因此個人建議,一般采用數據字典來判斷數據庫表是否存在。
