最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java DatabaseMetaData用法案例詳解

 更新時(shí)間:2021年08月27日 09:56:08   作者:liuleigang  
這篇文章主要介紹了Java DatabaseMetaData用法案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下

一 . 得到這個(gè)對象的實(shí)例

Connection con ;
con = DriverManager.getConnection(url,userName,password);
DatabaseMetaData dbmd = con.getMetaData();

二. 方法getTables的用法

原型:
ResultSet DatabaseMetaData.getTables(String catalog,String schema,String tableName,String []type) 
此方法可返回結(jié)果集合ResultSet ,結(jié)果集中有5列, 超出會報(bào)越界異常

功能描述:得到指定參數(shù)的表信息

參數(shù)說明:

參數(shù):catalog:目錄名稱,一般都為空.
參數(shù):schema:數(shù)據(jù)庫名,對于oracle來說就用戶名
參數(shù):tablename:表名稱
參數(shù):type :表的類型(TABLE | VIEW)

注意:在使用過程中,參數(shù)名稱必須使用大寫的。否則得到什么東西。

三. 方法getColumns的用法

功能描述:得到指定表的列信息。

原型:
ResultSet DatabaseMetaData getColumns(String catalog,String schema,String tableName,String columnName)

參數(shù)說明:
參數(shù)catalog : 類別名稱
參數(shù)schema : 用戶方案名稱
參數(shù)tableName : 數(shù)據(jù)庫表名稱
參數(shù)columnName : 列名稱

四、方法getPrimaryKeys的用法

功能描述:得到指定表的主鍵信息。

原型:
ResultSet DatabaseMetaData getPrimaryKeys(String catalog,String schema,String tableName)

參數(shù)說明:
參數(shù)catalog : 類別名稱
參數(shù)schema : 用戶方案名稱
參數(shù)tableName : 數(shù)據(jù)庫表名稱

備注:一定要指定表名稱,否則返回值將是什么都沒有。

五、方法.getTypeInfo()的用法

功能描述:得到當(dāng)前數(shù)據(jù)庫的數(shù)據(jù)類型信息。

六、方法getExportedKeys的用法

功能描述:得到指定表的外鍵信息。

參數(shù)描述:
參數(shù)catalog : 類別名稱
參數(shù)schema : 用戶方案名稱
參數(shù)tableName : 數(shù)據(jù)庫表名稱

DatabaseMetaData對象提供的是關(guān)于數(shù)據(jù)庫的各種信息,這些信息包括:

  1. 數(shù)據(jù)庫與用戶,數(shù)據(jù)庫標(biāo)識符以及函數(shù)與存儲過程。
  2. 數(shù)據(jù)庫限制。
  3. 數(shù)據(jù)庫支持不支持的功能。
  4. 架構(gòu)、編目、表、列和視圖等。

通過調(diào)用DatabaseMetaData的各種方法,程序可以動態(tài)的了解一個(gè)數(shù)據(jù)庫。由于這個(gè)類中的方法非常的多那么就介紹幾個(gè)常用的方法來給大家參考。

DatabaseMetaData實(shí)例的獲取方法是,通過連接來獲得的
Connection conn = //創(chuàng)建的連接。
DatabaseMetaData dbmd = Conn.getMetaData();

創(chuàng)建了這個(gè)實(shí)例,就可以使用他的方法來獲取數(shù)據(jù)庫得信息。首先是數(shù)據(jù)庫中用戶標(biāo)識符的信息的獲得,主要使用如下的方法:

getDatabaseProductName()用以獲得當(dāng)前數(shù)據(jù)庫是什么數(shù)據(jù)庫。比如oracle,access等。返回的是字符串。
getDatabaseProductVersion()獲得數(shù)據(jù)庫的版本。返回的字符串。
getDriverVersion()獲得驅(qū)動程序的版本。返回字符串。
supportsResultSetType(ResultSet.resultype)是判定是否支持這種結(jié)果集的類型。比如參數(shù)如果是Result.TYPE_FORWARD_ONLY,那就是判定是否支持,只能先前移動結(jié)果集的指針。返回值為boolean,true表示支持。

上面介紹的只是幾個(gè)常用的方法,這個(gè)類中還有很多方法,可以到j(luò)dk的幫助文檔中去查看類java.sql.DatabaseMetaData。

這個(gè)類中還有一個(gè)比較常用的方法就是獲得表的信息。使用的方法是:
getTables(String catalog,String schema,String tableName,String[] types),

這個(gè)方法帶有四個(gè)參數(shù),他們表示的含義如下:
String catalog——要獲得表所在的編目。串“”””意味著沒有任何編目,Null表示所有編目。
String schema——要獲得表所在的模式。串“”””意味著沒有任何模式,Null表示所有模式。該參數(shù)可以包含單字符的通配符(“_”),也可以包含多字符的通配符(“%”)。
String tableName——指出要返回表名與該參數(shù)匹配的那些表,該參數(shù)可以包含單字符的通配符(“_”),也可以包含多字符的通配符(“%”)。
String types——一個(gè)指出返回何種表的數(shù)組??赡艿臄?shù)組項(xiàng)是:”TABLE”,”VIEW”,”SYSTEM TABLE”,”GLOBAL TEMPORARY”,”LOCAL TEMPORARY”,”ALIAS”,“SYSNONYM”。

通過getTables()方法返回一個(gè)表的信息的結(jié)果集。這個(gè)結(jié)果集包括字段有:TABLE_CAT表所在的編目。TABLE_SCHEM表所在的模式,TABLE_NAME表的名稱。TABLE_TYPE標(biāo)的類型。REMARKS一段解釋性的備注。通過這些字段可以完成表的信息的獲取。

還有兩個(gè)方法一個(gè)是獲得列g(shù)etColumns(String catalog,String schama,String tablename,String columnPattern)一個(gè)是獲得關(guān)鍵字的方法getPrimaryKeys(String?catalog, String?schema, String?table)這兩個(gè)方法中的參數(shù)的含義和上面的介紹的是相同的。凡是pattern的都是可以用通配符匹配的。getColums()返回的是結(jié)果集,這個(gè)結(jié)果集包括了列的所有信息,類型,名稱,可否為空等。getPrimaryKey()則是返回了某個(gè)表的關(guān)鍵字的結(jié)果集。

通過getTables(),getColumns(),getPrimaryKeys()就可以完成表的反向設(shè)計(jì)了。主要步驟如下:

  1. 通過getTables()獲得數(shù)據(jù)庫中表的信息。
  2. 對于每個(gè)表使用,getColumns(),getPrimaryKeys()獲得相應(yīng)的列名,類型,限制條件,關(guān)鍵字等。
  3. 通過1,2獲得信息可以生成相應(yīng)的建表的SQL語句。

通過上述三步完成反向設(shè)計(jì)表的過程。

到此這篇關(guān)于Java DatabaseMetaData用法案例詳解的文章就介紹到這了,更多相關(guān)Java DatabaseMetaData用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java實(shí)現(xiàn)簡單發(fā)送郵件功能

    java實(shí)現(xiàn)簡單發(fā)送郵件功能

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)簡單發(fā)送郵件功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 基于swagger測試List類型參數(shù)過程詳解

    基于swagger測試List類型參數(shù)過程詳解

    這篇文章主要介紹了基于swagger測試List類型參數(shù)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Java 堆內(nèi)存溢出原因分析

    Java 堆內(nèi)存溢出原因分析

    這篇文章主要介紹了Java 堆內(nèi)存溢出原因分析,任何使用過基于 Java 的企業(yè)級后端應(yīng)用的軟件開發(fā)者都會遇到過這種報(bào)錯(cuò),java.lang.OutOfMemoryError:Java heap space。,需要的朋友可以參考下
    2019-06-06
  • 解決idea 拉取代碼出現(xiàn)的 “ Сannot Run Git Cannot identify version of git executable: no response“的問題

    解決idea 拉取代碼出現(xiàn)的 “ Сannot Run Git Cannot identify version of

    這篇文章主要介紹了解決idea 拉取代碼出現(xiàn)的 “ Сannot Run Git Cannot identify version of git executable: no response“的問題,需要的朋友可以參考下
    2020-08-08
  • Zookeeper全局唯一ID生成方案解析

    Zookeeper全局唯一ID生成方案解析

    這篇文章主要介紹了Zookeeper全局唯一ID生成方案解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Mybatis中OGNL表達(dá)式的具體使用

    Mybatis中OGNL表達(dá)式的具體使用

    OGNL是一種簡潔、靈活的表達(dá)式語言,本文就來介紹一下OGNL的概念以及在Mybatis中的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-12-12
  • Java學(xué)生信息類繼承與接口的原理及使用方式

    Java學(xué)生信息類繼承與接口的原理及使用方式

    這篇文章主要介紹了Java學(xué)生信息類繼承與接口的原理及使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 使用Java編寫一個(gè)文件批量重命名工具

    使用Java編寫一個(gè)文件批量重命名工具

    這篇文章主要為大家詳細(xì)介紹了如何使用Java編寫一個(gè)文件批量重命名工具,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-12-12
  • maven解決依賴沖突的三種解決方法

    maven解決依賴沖突的三種解決方法

    依賴沖突是指項(xiàng)目依賴的某一個(gè)jar包,有多個(gè)不同的版本,因而造成了包版本沖突,本文主要介紹了maven解決依賴沖突的三種解決方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • Java流操作之?dāng)?shù)據(jù)流實(shí)例代碼

    Java流操作之?dāng)?shù)據(jù)流實(shí)例代碼

    這篇文章主要介紹了Java流操作之?dāng)?shù)據(jù)流實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01

最新評論

黔东| 原平市| 佳木斯市| 桃园县| 商水县| 永顺县| 株洲市| 孟津县| 福泉市| 松滋市| 班玛县| 综艺| 白朗县| 泉州市| 龙里县| 思南县| 哈巴河县| 南昌县| 滨海县| 民权县| 安庆市| 中山市| 兖州市| 中江县| 惠来县| 遂平县| 大石桥市| 昌邑市| 秦皇岛市| 阿克| 收藏| 揭东县| 太仓市| 太仓市| 镇江市| 永修县| 平湖市| 临颍县| 茶陵县| 紫金县| 铜川市|