spring jdbc 获取 clob:
String sql = "select * from user where rownum = 1";
logger.debug("sql: " + sql);
final LobHandler lobHandler = new OracleLobHandler();
List userList = jdbcTemplateAsd.query(sql,
new RowMapper() {
public Object mapRow(ResultSet rs, int i) throws SQLException {
Map results = new HashMap();
String userProfile = lobHandler.getClobAsString(rs, "USER_PROFILE");
logger.debug("userProfile:" + userProfile);
results.put("userProfile", userProfile);
return results;
}
});
String jsonString = (String) ((Map) userList.get(0)).get("userProfile");
User user = JSONObject.parseObject(jsonString, User.class);
logger.debug("user:" + user);
ResultSet 获取 clob: private void clobExport() throws ClassNotFoundException, SQLException,
IOException {
CLOB clob = null;
String sql = "select * from USER where lower(CLIENT_ID) = 'test4@test.com' order by START_TIME desc";
DriverManager.registerDriver(new OracleDriver());
Connection conn = DriverManager.getConnection(url, user, pwd);
PreparedStatement stmt = conn.prepareStatement(sql);
ResultSet rs = stmt.executeQuery();
String content = "";
if (rs.next()) {
clob = (oracle.sql.CLOB) rs.getClob("USER_PROFILE");
content = ClobToString(clob);
}
stmt.close();
conn.close();
System.out.println(content);
}
public String ClobToString(CLOB clob) throws SQLException, IOException {
String reString = "";
Reader is = clob.getCharacterStream();
BufferedReader br = new BufferedReader(is);
String s = br.readLine();
StringBuffer sb = new StringBuffer();
while (s != null) {
sb.append(s);
s = br.readLine();
}
reString = sb.toString();
return reString;
}
public static void main(String[] args) throws IOException,
ClassNotFoundException, SQLException {
ClobTest clobtest = new ClobTest();
clobtest.clobExport();
}
apache ToStringBuilder:public String toString(){
return ToStringBuilder.reflectionToString(this, ToStringStyle.MULTI_LINE_STYLE);
}
分享到:
相关推荐
spring 中对大数据的处理,包括clob,blob的数据。比之jdbc下简便很多。
总的来说,Spring通过JDBC提供了一套完善的接口和工具类来处理CLOB和BLOB,使得开发者无需直接与JDBC API打交道,降低了数据库操作的复杂度。在实际项目中,根据业务需求,合理运用这些功能可以极大地提高开发效率和...
Spring和Hibernate框架结合使用可以有效地进行CLOB字段的操作。以下是实现这一功能的关键步骤和注意事项: 1. **配置SessionFactory** 在Spring配置文件中,你需要创建一个`SessionFactory` bean,同时指定一个`...
### Spring与Hibernate处理大字段(CLOB/BLOB) 在企业级应用开发中,经常会遇到需要存储大量文本或二进制数据的情况,这时就需要用到数据库的大字段类型如CLOB(Character Large Object)和BLOB(Binary Large ...
这篇博客“使用Jdbc4操作Blob,Clob”将深入讲解如何利用JDBC4 API来处理Blob和Clob对象。 Blob通常用于存储二进制数据,如图片、音频或视频文件,而Clob则用于存储大量文本数据,如长篇的文本或XML文档。在JDBC4中...
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="com.mysql.jdbc.Driver"/> <property name="url" value="jdbc:mysql://...
深入探讨JDBC的高级主题,包括DbUtils源码分析、Spring对JDBC的封装等,有助于更深层次地理解和掌握JDBC技术。 综上所述,JDBC不仅是Java应用程序与数据库交互的基础,而且通过其丰富的功能和API,为开发者提供了...
- **二进制数据处理**:探讨了Spring JDBC中处理二进制数据的方法,如BLOB和CLOB类型。 - **其他JdbcTemplate实现**:概述了除了默认的JdbcTemplate之外,还有哪些其他的实现可供选择。 ### 第三章:使用Spring与...
为了获取和设置BLOB或CLOB值,我们可以使用`PreparedStatement`的`setBlob`和`getBlob`方法。在实际应用中,通常会从文件读取二进制数据到`InputStream`,然后传递给`setBlob`。对于CLOB,可以使用`setClob`和`...
1.7 如何获取Spring 1.8 小结 第2章 快速入门 2.1 实例功能概述 2.1.1 比Hello World更适用的实例 2.1.2 实例功能简介 2.2 环境准备 2.2.1 创建库表 2.2.2 建立工程 2.2.3 类包及Spring配置文件规划 2.3 持久层 ...
1. **JdbcTemplate**:这是Spring JDBC模块的一个关键接口,提供了方便的SQL执行方法,可以用于读取和写入BLOB字段。使用JdbcTemplate,我们可以编写SQL查询或更新语句,并利用其方法执行它们,处理结果集。 2. **...
11.1.2. Spring JDBC包结构 11.2. 利用JDBC核心类控制JDBC的基本操作和错误处理 11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5....
1.7 如何获取Spring 1.8 小结 第2章 快速入门 2.1 实例功能概述 2.1.1 比Hello World更适用的实例 2.1.2 实例功能简介 2.2 环境准备 2.2.1 创建库表 2.2.2 建立工程 2.2.3 类包及Spring配置文件规划 2.3 持久层 ...
11.1.2. Spring JDBC包结构 11.2. 利用JDBC核心类控制JDBC的基本操作和错误处理 11.2.1. JdbcTemplate类 11.2.2. NamedParameterJdbcTemplate类 11.2.3. SimpleJdbcTemplate类 11.2.4. DataSource接口 11.2.5....
总之,处理Oracle数据库中的LOB字段需要对Spring、Hibernate以及Oracle JDBC驱动有深入理解。通过合理配置和使用相应的API,我们可以有效地管理大体积数据,实现与数据库的高效交互。在实际项目中,根据具体需求和...
<typeHandler jdbcType="CLOB" javaType="java.lang.String" callback="org.springframework.orm.ibatis.support.ClobStringTypeHandler"/> ``` 这里的配置指定了BLOB类型对应的Java类型为`byte[]`,并通过`...
通过spring存blob和clob数据到sybase数据库中,压缩包里包含了三种方式,(1)spring+hibernate,切面事务(aop),存lob数据,(2)spring+hibernate存lob数据,(3)spring+jdbc存lob数据。
`JdbcTemplate`是Spring框架中用于简化JDBC编程的一种工具,它封装了大量的通用数据库操作。 - **模板设计模式优化DAO**: `JdbcTemplate`简化了异常处理、资源管理等操作。 - **策略设计模式优化DAO**: 通过定义...
- 文档提到将来还会继续探讨更高级的主题,如 DbUtils 源码分析、Spring 对 JDBC 的强大封装等。 - 这些内容将进一步深化读者对 JDBC 的理解和运用。 通过以上内容的详细解读,我们可以看到 JDBC 不仅仅是一套简单...