spring定义了一个以统一的方式操作各种数据库的Lob类型数据的LobCreator(保存的时候用),同时提供了一个LobHandler为操作二进制字段和大文本字段提供统一接口访问。
举例,例子里面的t_post表中post_text字段是CLOB类型,而post_attach是BLOG类型:

String sql = " INSERT INTO t_post(post_id,user_id,post_text,post_attach)"
+ " VALUES(?,?,?,?)";
getJdbcTemplate().execute(
sql,
new AbstractLobCreatingPreparedStatementCallback(
this.lobHandler) {
protected void setValues(PreparedStatement ps,
LobCreator lobCreator) throws SQLException {
ps.setInt(1, incre.nextIntValue());
ps.setInt(2, post.getUserId());
//存储文件流,text文本之类
//存储图片用lobCreator.setBlobAsBinaryStream(ps, 3, inputstream,inputstream.avaliable)
lobCreator.setClobAsAsciiStream(ps, 3, inputstream,inputstream.avaliable);
lobCreator.setClobAsAsciiStream(ps, 4, inputstream,inputstream.avaliable);
}
});
}
}

读取BLOB/CLOB块,举例:

public List getAttachs(final int userId){
String sql = "SELECT post_id,post_attach FROM t_post where user_id =? and post_attach is not null";
return getJdbcTemplate().query(
sql,new Object[] {userId},
new RowMapper() {
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
Post post = new Post();
int postId = rs.getInt(1);
byte[] attach = lobHandler.getBlobAsBytes(rs, 2);
post.setPostId(postId);
post.setPostAttach(attach);
return post;
}
});
}

Spring 让 LOB 数据操作变得简单易行 另一篇介绍
http://www.ibm.com/developerworks/cn/java/j-lo-spring-lob/

利用spring的jdbcTemplate处理blob、clob相关推荐

  1. Struts+Spring+Hibernate处理Lob(Blob,Clob)--sessionFactory中注入 org.springframework.jdbc.support.lob.Def

    [转载]org.springframework.jdbc.support.lob. 转载▼ 标签: 转载 分类: spring 原文地址:org.springframework.jdbc.suppor ...

  2. Spring Boot + Oracle 处理Blob/Clob类型字段实例

    本篇演示使用SpringBoot (JPA)如何保存和查询Oracle 数据库中的Clob/Blob 类型的字段. Clob/Blob 大对象数据 Clob/Blob 类型的字段用于保存大型的数据, ...

  3. Spring JDBC-使用Spring JDBC获取本地连接对象以及操作BLOB/CLOB类型数据

    概述 如何获取本地数据连接 示例从DBCP数据源中获取Oracle的本地连接对象 相关接口操作 LobCreator LobHandler 插入LOB类型的数据 以块数据的方式读取LOB数据 以流数据 ...

  4. spring boot java app_利用spring boot创建java app

    利用spring boot创建java app 背景 在使用spring框架开发的过程中,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置和复杂的bean依赖关系,特别是在使用mvc的时候各 ...

  5. 利用Spring AOP 更新memcached 缓存策略的实现(一)

    本人参考文档:http://blog.csdn.net/ajun_studio/article/details/7343781 memcached批量删除解决方案:http://tech.ddvip. ...

  6. Spring 学习 day3 : AOP,Spring中JdbcTemplate的使用

    1.AOP 1.1 什么是AOP 在软件业,AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方 式和运行期动态代理实现程序功能的统一维护的一种技术. ...

  7. 利用spring aop统一处理异常和打日志

    利用spring aop统一处理异常和打日志 spring aop的概念,很早就写博客介绍了,现在在工作中真正使用. 我们很容易写出的代码 我们很容易写出带有很多try catch 和 logger. ...

  8. 利用SPRING管理热加载的GROOVY对象!

    作者:paleXu的技术博客 来源:https://palexu.github.io/posts/spring-dynamic-load-groovy-bean?hmsr=toutiao.io& ...

  9. Spring的jdbcTemplate 与原始jdbc 整合c3p0的DBUtils 及Hibernate 对比 Spring配置文件生成约束的菜单方法...

    以User为操作对象 package com.swift.jdbc;public class User {private Long user_id; private String user_code; ...

最新文章

  1. Java-Java I/O流解读之java.io.PrintStream java.io.PrintWriter
  2. centos 6 防火墙开启端口无效问题
  3. Oracle 安装完怎么用,oracle 11g 安装完怎么用
  4. boost::python::register_exception_translator相关的测试程序
  5. 如何在asterisk中限制呼叫路数?
  6. burpsuite小米手机抓包_使用burpsuite实现Android APP的HTTPS抓包
  7. 多线程之CountDownLatch和CyclicBarrier的区别和用法
  8. linux 格式化u盘_【Ventoy】一个U盘,启动多个系统
  9. 干货分享丨从MPG 线程模型,探讨Go语言的并发程序
  10. 职场精英修炼必学工具:75页自我管理的29个工具,系统方法论
  11. vscode 文件夹中查找_真香!使用 VSCode 进行远程开发调试
  12. Reacr-Native Android 环境搭建 、运行项目(二)Window
  13. while循环python的范围_为什么Python中的range()循环比使用while循环更快?
  14. powerDesigner修改mysql建表语句
  15. Python基础--01数据类型-标识符命名规范
  16. 如何应用计算机键盘截图,计算机屏幕截图的键盘快捷键是哪个键?在计算机上截图的方法...
  17. 为了寻找美,我决定对美女图片进行图像边缘化处理
  18. 动态规划-切木头问题(代码实现)
  19. 网吧组建及相关技术(无盘技术;VLAN;PacketTrace)
  20. Fermat theorem (stationary points)

热门文章

  1. 手机通过蓝牙共享网络给电脑上网
  2. ps画画模糊笔刷_用ps污点画笔修复工具讲图片变成朦胧效果
  3. 重装Win10系统其他盘的东西还在吗?
  4. 微信企业号的五个典型案例分享
  5. 从1到无穷大—机器学习篇
  6. 微软雅黑与微软正黑体
  7. cluster(1)
  8. 原子化服务的官方解析来啦~
  9. web实现置顶、置底功能、聊天页面、锚点、滚动条、vue、scrollTop、scrollIntoView、scrollHeight
  10. c语言中 x20是什么意思,vivo X20的这些功能,我想给满分。