java 實(shí)現(xiàn)讀取clob
1.說明
jdbc 數(shù)據(jù)類型為Clob,與java的String類型相對應(yīng)。
2.導(dǎo)入
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.sql.Clob;
3.代碼實(shí)現(xiàn)
public List<Map<String, Object>> queryForList() { List<Map<String, Object>> rowList = new ArrayList<Map<String, Object>>(); String driver = ""; String url = ""; String username = ""; String password = ""; String sql = ""; log.info("查詢sql條件:" + sql); try { // 加載驅(qū)動程序,此處運(yùn)用隱式注冊驅(qū)動程序的方法 Class.forName(driver); log.info("加載驅(qū)動成功!"); } catch (ClassNotFoundException e) { log.error("加載驅(qū)動程序,此處運(yùn)用隱式注冊驅(qū)動程序的方法出錯:" + e.getMessage()); e.printStackTrace(); } try { // 創(chuàng)建連接對象 Connection con = DriverManager.getConnection(url, username, password); // 創(chuàng)建sql執(zhí)行對象 Statement st = con.createStatement(); // 執(zhí)行sql語句并返回結(jié)果集 ResultSet rs = st.executeQuery(sql); // 獲得結(jié)果集結(jié)構(gòu)信息,元數(shù)據(jù) ResultSetMetaData rsmd = rs.getMetaData(); // 獲得列數(shù) int columnCount = rsmd.getColumnCount(); // 用于接收每行數(shù)據(jù) Map<String, Object> rowData = null; // clob類型 Clob clob = null; // clob轉(zhuǎn)成String String clobString = ""; while (rs.next()) { rowData = new HashMap<String, Object>(); for (int i = 1; i <= columnCount; i++) { // 判斷數(shù)據(jù)類型是否為Clob if (rs.getObject(i) instanceof Clob) {// Clob轉(zhuǎn)String clob = (Clob) rs.getObject(i); clobString = clob.getSubString((long) 1, (int) clob.length()); rowData.put(rsmd.getColumnName(i), clobString); } else { rowData.put(rsmd.getColumnName(i), rs.getObject(i)); } } rowList.add(rowData); } // 關(guān)閉相關(guān)的對象 if (rs != null) { rs.close(); } if (st != null) { st.close(); } if (con != null) { con.close(); } } catch (SQLException e) { e.printStackTrace(); } return rowList; }
以上就是java 實(shí)現(xiàn)讀取clob的詳細(xì)內(nèi)容,更多關(guān)于java 讀取clob的資料請關(guān)注腳本之家其它相關(guān)文章!
- Java讀取Oracle大字段數(shù)據(jù)(CLOB)的2種方法
- java byte數(shù)組與16進(jìn)制間相互轉(zhuǎn)換的示例
- java 數(shù)組轉(zhuǎn)list的兩種方式
- java 根據(jù)身份證號碼判斷出生日期、性別、年齡的示例
- java 壓縮圖片(只縮小體積,不更改圖片尺寸)的示例
- Java如何讀取配置文件并賦值靜態(tài)變量
- java讀取word文檔,提取標(biāo)題和內(nèi)容的實(shí)例
- java讀取html文件,并獲取body中所有的標(biāo)簽及內(nèi)容的案例
- Java使用FileInputStream流讀取文件示例詳解
相關(guān)文章
java字符串相加時的內(nèi)存表現(xiàn)和原理分析
這篇文章主要介紹了java字符串相加時的內(nèi)存表現(xiàn)和原理分析,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07詳解maven中profiles使用實(shí)現(xiàn)
本文主要介紹了maven中profiles使用實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02解析Spring Boot 如何讓你的 bean 在其他 bean&n
在 SpringBoot 中如何讓自己的某個指定的 Bean 在其他 Bean 前完成被 Spring 加載?我聽到這個問題的第一反應(yīng)是,為什么會有這樣奇怪的需求?下面小編給大家分析下Spring Boot 如何讓你的 bean 在其他 bean 之前完成加載 ,感興趣的朋友一起看看吧2024-01-01Java?SpringBoot整合shiro-spring-boot-starterqi項(xiàng)目報(bào)錯解決
這篇文章主要介紹了Java?SpringBoot整合shiro-spring-boot-starterqi項(xiàng)目報(bào)錯解決,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考一下2022-08-08Java中的ConcurrentLinkedQueue松散隊(duì)列解析
這篇文章主要介紹了Java中的ConcurrentLinkedQueue松散隊(duì)列解析,鏈表是松散的,鏈表節(jié)點(diǎn)并不都是有效的,允許存在無效節(jié)點(diǎn)val=null,但是只有最后一個節(jié)點(diǎn)才能next=null,需要的朋友可以參考下2023-12-12Java操作MinIO實(shí)現(xiàn)文件的上傳和刪除
本文主要介紹如何將本地Java項(xiàng)目resources目錄下的一個PNG圖片上傳到MinIO,然后將上傳的圖片刪除,文中有詳細(xì)的流程步驟和示例代碼,需要的朋友可以參考下2023-06-06