天天看點

小知識系列:查詢資料庫資料的元資訊

​​簡介​​

​​使用resultset​​

​​使用resultsetmetadata​​

​​總結​​

簡介

java中資料庫的操作相信大家都不陌生,jdk提供了java.sql包來規範對資料庫的各種操作。我們最常用的操作就是從資料庫的resultset中擷取資料,其實這個包中還有一個非常有用的類叫做resultsetmetadata,可以通過這個類來擷取查詢資料的元資訊,一起來看看吧。

使用resultset

java.sql.resultset是一個通用的規範,用來表示從資料庫擷取到的資料。

通常來說,我們通過connection來建立statement,然後通過執行查詢語句來得到:

resultset提供了各種getter方法,來擷取結果集中的各種資料。可以通過index,也可以通過column名稱來擷取。

當然,使用index它的效率會更高,index是從1開始的。如果是通過列名來擷取資料,傳入的列名是大小寫不敏感的,如果結果資料中有多個比對的類,則會傳回最先比對的那一列。

在get的過程中,jdbc driver會嘗試将結果資料的資料庫類型轉換成為對應的java類型。

jdbc 2.0 api,resultset也可以進行更新和插入操作,可能我們很少這樣做,一般都是先構造好資料後直接插入。

先看下更新操作:

再看下插入操作:

使用resultsetmetadata

有了resultset,我們可以通過它的getmetadata方法,來擷取結果集的中繼資料。

什麼是中繼資料呢?中繼資料又叫做metadata,是用來描述資料屬性的資料。

舉個具體的例子:

resultsetmetadata提供了很多非常有用的中繼資料檢測方法:

小知識系列:查詢資料庫資料的元資訊

我們可以拿到列的名稱、類型、字段長度、是否為空等很多有意義的資料。

這個中繼資料有什麼用呢?

通過中繼資料,我們可以拿到資料庫的描述檔案,進而可以自動建立對應的資料庫表格的映射關系,進而減少手動代碼的輸入,非常的友善。

用過mybatisplus的朋友可能知道,它提供了一個autogenerator,可以自動生成mapper對象和對應的xml檔案,非常好用,大家可以試一試。

總結

以上就是resultset和resultsetmetadata的介紹,大家學會了嗎?