簡介
使用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的介紹,大家學會了嗎?