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

java小知識之查詢數(shù)據(jù)庫數(shù)據(jù)的元信息

 更新時間:2021年10月13日 15:34:35   作者:程序那些事  
這篇文章主要給大家介紹了關(guān)于java小知識之查詢數(shù)據(jù)庫數(shù)據(jù)的元信息,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

簡介

java中數(shù)據(jù)庫的操作相信大家都不陌生,JDK提供了java.sql包來規(guī)范對數(shù)據(jù)庫的各種操作。我們最常用的操作就是從數(shù)據(jù)庫的ResultSet中獲取數(shù)據(jù),其實這個包中還有一個非常有用的類叫做ResultSetMetaData,可以通過這個類來獲取查詢數(shù)據(jù)的元信息,一起來看看吧。

使用ResultSet

java.sql.ResultSet是一個通用的規(guī)范,用來表示從數(shù)據(jù)庫獲取到的數(shù)據(jù)。

通常來說,我們通過connection來創(chuàng)建Statement,然后通過執(zhí)行查詢語句來得到:

Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
                                        ResultSet.CONCUR_UPDATABLE);
         ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");

resultSet提供了各種getter方法,來獲取結(jié)果集中的各種數(shù)據(jù)??梢酝ㄟ^index,也可以通過column名稱來獲取。

當然,使用index它的效率會更高,index是從1開始的。如果是通過列名來獲取數(shù)據(jù),傳入的列名是大小寫不敏感的,如果結(jié)果數(shù)據(jù)中有多個匹配的類,則會返回最先匹配的那一列。

在get的過程中,JDBC driver會嘗試將結(jié)果數(shù)據(jù)的數(shù)據(jù)庫類型轉(zhuǎn)換成為對應(yīng)的java類型。

JDBC 2.0 API,ResultSet也可以進行更新和插入操作,可能我們很少這樣做,一般都是先構(gòu)造好數(shù)據(jù)后直接插入。

先看下更新操作:

         rs.absolute(5); // 將游標移動到第5行
         rs.updateString("SITE", "www.flydean.com"); // 將SITE更新為www.flydean.com
         rs.updateRow(); // 更新到數(shù)據(jù)庫中

再看下插入操作:

  
         rs.moveToInsertRow(); // 將游標移動到插入行
         rs.updateString(1, "www.flydean.com"); // 將插入行的第一列更新為www.flydean.com
         rs.updateInt(2,35); // 更新第二列為35
         rs.updateBoolean(3, true); // 更新第三列為true
         rs.insertRow();
         rs.moveToCurrentRow();

使用ResultSetMetaData

有了ResultSet,我們可以通過它的getMetaData方法,來獲取結(jié)果集的元數(shù)據(jù)。

什么是元數(shù)據(jù)呢?元數(shù)據(jù)又叫做Metadata,是用來描述數(shù)據(jù)屬性的數(shù)據(jù)。

   ResultSetMetaData getMetaData() throws SQLException;

舉個具體的例子:

       ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM TABLE2");
       ResultSetMetaData rsmd = rs.getMetaData();
       int numberOfColumns = rsmd.getColumnCount();
       boolean b = rsmd.isSearchable(1);

ResultSetMetaData提供了很多非常有用的元數(shù)據(jù)檢測方法:

我們可以拿到列的名稱、類型、字段長度、是否為空等很多有意義的數(shù)據(jù)。

這個元數(shù)據(jù)有什么用呢?

通過元數(shù)據(jù),我們可以拿到數(shù)據(jù)庫的描述文件,從而可以自動創(chuàng)建對應(yīng)的數(shù)據(jù)庫表格的映射關(guān)系,從而減少手動代碼的輸入,非常的方便。

用過MybatisPlus的朋友可能知道,它提供了一個AutoGenerator,可以自動生成mapper對象和對應(yīng)的xml文件,非常好用,大家可以試一試。

總結(jié)

以上就是ResultSet和ResultSetMetaData的介紹,大家學(xué)會了嗎?

到此這篇關(guān)于java小知識之查詢數(shù)據(jù)庫數(shù)據(jù)元信息的文章就介紹到這了,更多相關(guān)java查詢數(shù)據(jù)庫數(shù)據(jù)元信息內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java8 forEach結(jié)合Lambda表達式遍歷 List操作

    java8 forEach結(jié)合Lambda表達式遍歷 List操作

    這篇文章主要介紹了java8 forEach結(jié)合Lambda表達式遍歷 List操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • java數(shù)據(jù)結(jié)構(gòu)基礎(chǔ):算法

    java數(shù)據(jù)結(jié)構(gòu)基礎(chǔ):算法

    這篇文章主要介紹了Java的數(shù)據(jù)解構(gòu)基礎(chǔ),希望對廣大的程序愛好者有所幫助,同時祝大家有一個好成績,需要的朋友可以參考下,希望能給你帶來幫助
    2021-07-07
  • SpringBoot中定位切點的兩種常用方法

    SpringBoot中定位切點的兩種常用方法

    有時候,我們使用AOP來進行放的增強,編寫切面類的時候,需要定位在哪個方法上試用該切面進行增強,本片文章主要講解兩種在SpringBoot中定位切點的方法,感興趣的可以了解一下
    2021-06-06
  • Apache?Maven3.6.0的下載安裝和環(huán)境配置(圖文教程)

    Apache?Maven3.6.0的下載安裝和環(huán)境配置(圖文教程)

    本文主要介紹了Apache?Maven3.6.0的下載安裝和環(huán)境配置,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 解析java稀疏數(shù)組如何幫助我們節(jié)省內(nèi)存提升性能

    解析java稀疏數(shù)組如何幫助我們節(jié)省內(nèi)存提升性能

    這篇文章主要為大家介紹了java稀疏數(shù)組如何幫助我們節(jié)省內(nèi)存提升性能解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • Mybatis控制臺打印SQL執(zhí)行信息的方法詳解

    Mybatis控制臺打印SQL執(zhí)行信息的方法詳解

    SQL性能監(jiān)控是一個程序必要的功能,通常我們可以使用數(shù)據(jù)庫自帶的客戶端工具進行SQL性能分析,本章節(jié)只實現(xiàn)Mybatis執(zhí)行時對執(zhí)行SQL進行攔截,控制臺打印執(zhí)行SQL包括參數(shù)、執(zhí)行方法以及執(zhí)行時間,需要的朋友可以參考下
    2024-11-11
  • Spring通過三級緩存解決循環(huán)依賴問題的過程詳解

    Spring通過三級緩存解決循環(huán)依賴問題的過程詳解

    循環(huán)依賴指的是在對象之間存在相互依賴關(guān)系,形成一個閉環(huán),導(dǎo)致無法準確地完成對象的創(chuàng)建和初始化,本文主要介紹了Spring通過三級緩存解決循環(huán)依賴的方法,需要的可以參考下
    2023-10-10
  • java基礎(chǔ)之標簽、按鈕和按鈕事件簡介

    java基礎(chǔ)之標簽、按鈕和按鈕事件簡介

    本文給大家?guī)淼氖莏ava圖形界面的基礎(chǔ)知識,簡單介紹了標簽、按鈕和按鈕事件,十分的詳細,有需要的小伙伴可以參考下。
    2015-06-06
  • springboot常用注釋的講解

    springboot常用注釋的講解

    今天小編就為大家分享一篇關(guān)于springboot常用注釋的講解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • Java Comparable和Comparator對比詳解

    Java Comparable和Comparator對比詳解

    這篇文章主要介紹了Java Comparable和Comparator對比詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11

最新評論

安达市| 宜昌市| 凉城县| 家居| 宝丰县| 湘阴县| 绵阳市| 松阳县| 吐鲁番市| 蒙山县| 高要市| 凤台县| 南丰县| 西吉县| 喜德县| 牟定县| 寻甸| 昭苏县| 正蓝旗| 昌都县| 东城区| 广饶县| 阿克陶县| 会宁县| 中宁县| 庄河市| 西林县| 伊吾县| 太谷县| 宿州市| 海南省| 简阳市| 贺兰县| 外汇| 惠东县| 荣昌县| 尼木县| 清苑县| 渝北区| 新野县| 偃师市|