欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談 JDBC 元數(shù)據(jù)

 更新時(shí)間:2017年09月28日 08:40:11   作者:Infaraway  
這篇文章主要介紹了JDBC元數(shù)據(jù)的相關(guān)內(nèi)容,涉及一些獲取數(shù)據(jù)源各種信息的方法,具有一定參考價(jià)值,需要的朋友可以了解下。

Java 通過JDBC獲得連接以后,得到一個(gè)Connection 對(duì)象,可以從這個(gè)對(duì)象獲得有關(guān)數(shù)據(jù)庫管理系統(tǒng)的各種信息,包括數(shù)據(jù)庫中的各個(gè)表,表中的各個(gè)列,數(shù)據(jù)類型,觸發(fā)器,存儲(chǔ)過程等各方面的信息。根據(jù)這些信息,JDBC可以訪問一個(gè)實(shí)現(xiàn)事先并不了解的數(shù)據(jù)庫。

獲取這些信息的方法都是在DatabaseMetaData類的對(duì)象上實(shí)現(xiàn)的,而DataBaseMetaData對(duì)象是在Connection對(duì)象上獲得的。

DatabaseMetaData 類中提供了許多方法用于獲得數(shù)據(jù)源的各種信息,通過這些方法可以非常詳細(xì)的了解數(shù)據(jù)庫的信息:

getURL():返回一個(gè)String類對(duì)象,代表數(shù)據(jù)庫的URL。

getUserName():返回連接當(dāng)前數(shù)據(jù)庫管理系統(tǒng)的用戶名。

isReadOnly():返回一個(gè)boolean值,指示數(shù)據(jù)庫是否只允許讀操作。

getDatabaseProductName():返回?cái)?shù)據(jù)庫的產(chǎn)品名稱。

getDatabaseProductVersion():返回?cái)?shù)據(jù)庫的版本號(hào)。

getDriverName():返回驅(qū)動(dòng)驅(qū)動(dòng)程序的名稱。

getDriverVersion():返回驅(qū)動(dòng)程序的版本號(hào)。

/**
   * 查詢特定數(shù)據(jù)庫中的所有表
   * @param connection 數(shù)據(jù)庫連接對(duì)象
   * @return 數(shù)據(jù)庫表的list
   */
  public static List<String> getTables(Connection connection){
    try {
      List<String> tableList = new ArrayList<>();
      DatabaseMetaData metaData = connection.getMetaData();
      ResultSet resultSet = metaData.getTables(null, null, null, new String[]{"TABLE"});
      while (resultSet.next()){
        tableList.add(resultSet.getString(3));
      }
      return tableList;
    } catch (SQLException e) {
      e.printStackTrace();
    }
    return null;
  }

可用于獲取關(guān)于 ResultSet 對(duì)象中列的類型和屬性信息的對(duì)象:

getColumnName(int column):獲取指定列的名稱

getColumnCount():返回當(dāng)前 ResultSet 對(duì)象中的列數(shù)。

getColumnTypeName(int column):檢索指定列的數(shù)據(jù)庫特定的類型名稱。

getColumnDisplaySize(int column):指示指定列的最大標(biāo)準(zhǔn)寬度,以字符為單位。

isNullable(int column):指示指定列中的值是否可以為 null。

isAutoIncrement(int column):指示是否自動(dòng)為指定列進(jìn)行編號(hào),這樣這些列仍然是只讀的。

總結(jié)

以上就是本文淺談JDBC 元數(shù)據(jù)的全部內(nèi)容,希望對(duì)大家有所幫助。歡迎大家參閱本站其他專題,有什么問題可以隨時(shí)留言,小編會(huì)及時(shí)回復(fù)大家的。感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Java logback日志的簡單使用

    Java logback日志的簡單使用

    這篇文章主要介紹了Java logback日志的使用詳解,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-03-03
  • Java HashMap的工作原理

    Java HashMap的工作原理

    這篇文章主要介紹了Java HashMap的工作原理的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • 教你如何使用idea管理docker

    教你如何使用idea管理docker

    其實(shí)idea也提供了docker的管理功能,比如查看容器列表,啟動(dòng)容器,停止容器等,本文來看下如何管理本地的docker?daemon和遠(yuǎn)程的dockers?daemon,感興趣的朋友跟隨小編一起看看吧
    2024-05-05
  • 判斷java文件類型TikaToolKit的實(shí)例

    判斷java文件類型TikaToolKit的實(shí)例

    這篇文章主要介紹了判斷java文件類型TikaToolKit的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Java都有哪些創(chuàng)建線程的方法

    Java都有哪些創(chuàng)建線程的方法

    這篇文章主要介紹了Java都有哪些創(chuàng)建線程的方法,文章分享Java創(chuàng)建線程得幾種方法及推薦使用哪種方法,下面詳細(xì)內(nèi)容需要的小伙伴可以參考一下
    2022-05-05
  • Spring中使用JSR303請(qǐng)求約束判空的實(shí)現(xiàn)

    Spring中使用JSR303請(qǐng)求約束判空的實(shí)現(xiàn)

    這篇文章主要介紹了Spring中使用JSR303請(qǐng)求約束判空的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 實(shí)例講解Java中的synchronized

    實(shí)例講解Java中的synchronized

    這篇文章主要介紹了Java中synchronized的使用方法,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • JVM:晚期(運(yùn)行期)優(yōu)化的深入理解

    JVM:晚期(運(yùn)行期)優(yōu)化的深入理解

    今天小編就為大家分享一篇關(guān)于JVM:晚期(運(yùn)行期)優(yōu)化的深入理解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • Spring整合junit的配置過程圖解

    Spring整合junit的配置過程圖解

    這篇文章主要介紹了Spring整合junit的配置過程圖解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • Centos7.3下jre1.8安裝和配置教程

    Centos7.3下jre1.8安裝和配置教程

    這篇文章主要為大家詳細(xì)介紹了Centos7.3下jre1.8安裝和配置教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09

最新評(píng)論