java 實(shí)現(xiàn)讀取clob
1.說明
jdbc 數(shù)據(jù)類型為Clob,與java的String類型相對(duì)應(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ū)動(dòng)程序,此處運(yùn)用隱式注冊(cè)驅(qū)動(dòng)程序的方法
Class.forName(driver);
log.info("加載驅(qū)動(dòng)成功!");
} catch (ClassNotFoundException e) {
log.error("加載驅(qū)動(dòng)程序,此處運(yùn)用隱式注冊(cè)驅(qū)動(dòng)程序的方法出錯(cuò):" + e.getMessage());
e.printStackTrace();
}
try {
// 創(chuàng)建連接對(duì)象
Connection con = DriverManager.getConnection(url, username, password);
// 創(chuàng)建sql執(zhí)行對(duì)象
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)的對(duì)象
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的資料請(qǐng)關(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ù)身份證號(hào)碼判斷出生日期、性別、年齡的示例
- java 壓縮圖片(只縮小體積,不更改圖片尺寸)的示例
- Java如何讀取配置文件并賦值靜態(tài)變量
- java讀取word文檔,提取標(biāo)題和內(nèi)容的實(shí)例
- java讀取html文件,并獲取body中所有的標(biāo)簽及內(nèi)容的案例
- Java使用FileInputStream流讀取文件示例詳解
相關(guān)文章
java字符串相加時(shí)的內(nèi)存表現(xiàn)和原理分析
這篇文章主要介紹了java字符串相加時(shí)的內(nèi)存表現(xiàn)和原理分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
詳解maven中profiles使用實(shí)現(xiàn)
本文主要介紹了maven中profiles使用實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
Java實(shí)現(xiàn)簡(jiǎn)單的掃雷小程序
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)簡(jiǎn)單的掃雷小程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04
解析Spring Boot 如何讓你的 bean 在其他 bean&n
在 SpringBoot 中如何讓自己的某個(gè)指定的 Bean 在其他 Bean 前完成被 Spring 加載?我聽到這個(gè)問題的第一反應(yīng)是,為什么會(huì)有這樣奇怪的需求?下面小編給大家分析下Spring Boot 如何讓你的 bean 在其他 bean 之前完成加載 ,感興趣的朋友一起看看吧2024-01-01
Java?SpringBoot整合shiro-spring-boot-starterqi項(xiàng)目報(bào)錯(cuò)解決
這篇文章主要介紹了Java?SpringBoot整合shiro-spring-boot-starterqi項(xiàng)目報(bào)錯(cuò)解決,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考一下2022-08-08
Java中的ConcurrentLinkedQueue松散隊(duì)列解析
這篇文章主要介紹了Java中的ConcurrentLinkedQueue松散隊(duì)列解析,鏈表是松散的,鏈表節(jié)點(diǎn)并不都是有效的,允許存在無效節(jié)點(diǎn)val=null,但是只有最后一個(gè)節(jié)點(diǎn)才能next=null,需要的朋友可以參考下2023-12-12
Java操作MinIO實(shí)現(xiàn)文件的上傳和刪除
本文主要介紹如何將本地Java項(xiàng)目resources目錄下的一個(gè)PNG圖片上傳到MinIO,然后將上傳的圖片刪除,文中有詳細(xì)的流程步驟和示例代碼,需要的朋友可以參考下2023-06-06

