- 浏览: 686104 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (362)
- java基础 (33)
- html/css+div/javascript (17)
- Ajax/XML/JSON/XSL (7)
- JQuery (11)
- Extjs (1)
- JSP/Servlet (19)
- MVC模式 (4)
- struts 1 (17)
- Struts 2.3.4 (17)
- Spring 3.2 (26)
- Springmvc (3)
- Hibernate 4.1 (21)
- ibatis (6)
- Velocity模板语言 (2)
- Rose框架 (5)
- EJB (1)
- JUnit测试 (2)
- 数据库DB (24)
- 重构 / 设计模式 (3)
- 开发工具IDE (37)
- 数据结构与算法设计 (3)
- Android (12)
- Linux (4)
- bug集合 (29)
- 缓存技术(redis) (3)
- Lucene全文索引 (15)
- maven3.0.5 (4)
- 小工具集合 (18)
- 面试题 (5)
- 闲聊 (11)
- 其他 (4)
- 接口API (2)
- work (2)
- Flex (0)
- JMS (1)
- 开源项目集合 (1)
- 技术博客 (1)
- 分类04 (0)
- 分类05555 (0)
最新评论
-
小小小羊:
好屌...
java.lang.NoClassDefFoundError: org/aspectj/weaver/reflect/ReflectionWorld$Refle -
liubinli2005:
这个可以脱底spring。单独使用吗?
DAO层:jade -
cangbaotu:
我觉得对于开发者来说,能脚本化编写爬虫是一件挺开心的事情( ̄▽ ...
网页爬取 -
asjava:
很好的文章, 但每段代码清单都重复了一次.
spring 事务 -
xia635317478:
jethypc 写道验证码的session无法传过去啊 还是我 ...
登陆验证码(struts2实现)
在spring中如何处理oracle大字段
在spring中采用OracleLobHandler来处理oracle大字段(包括clob和blob),则在程序中不需要引用oracle的特殊类,从而能够保证支持我们的代码支持多数据库。
所以在Spring的主配置文件xx.xml中的配置SessionFactory的bean中配置:
----------------------------------------------------------------------
<bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.CommonsDbcpNativeJdbcExtractor" lazy-init="true" autowire="default" dependency-check="default"/> <bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true" autowire="default" dependency-check="default"> <property name="nativeJdbcExtractor" ref="nativeJdbcExtractor"/> </bean> <bean id="sessionFactory" class="org.hibernate.cfg.SWSSessionFactoryBean" lazy-init="false" autowire="default" dependency-check="default"> ... <property name="lobHandler"> <ref bean="oracleLobHandler"/> </property> ... </bean>
----------------------------------------------------------------------
大家可能已经注意到 nativeJdbcExtractor和 lobHandler 都设置为 lazy-init="true",
这是因为 nativeJdbcExtractor需要通过运行期的反射机制获取底层的 JDBC 对象,
所以需要避免在 Spring 容器启动时就实例化这两个 Bean。
<注:上面的SWSSessionFactoryBean是被重写过的,继承AnnotationSessionFactoryBean>
1、首先数据表中的clob类型对应java持久化类的String类型;而blob类型对应byte[]类型
2、1.定义hibernate标签时,持久化类中对应clob类型的属性的hibernate type应为org.springframework.orm.hibernate.support.ClobStringType;而对应blob类型的属性的hibernate type应为org.springframework.orm.hibernate.support.BlobByteArrayType。
2.如果通过spring 注解功能配置PoJo类时,在该大字段属性的getXXX()方法前面加上注解:
----------------------------------------------------------------------
public String xxx; ... @Lob @Type(type="org.springframework.orm.hibernate3.support.ClobStringType") @Column(length=10000) public String getXXX () { return xxx; }----------------------------------------------------------------------
注释:
@Lob:大字段,lob包括blob和clob,其中clob用于纯文本的,blob用于非文本的,比如图片;
@Type(type="org.springframework.orm.hibernate3.support.ClobStringType"):Oracle JDBC
不允许流操作以批量方式执行,而Oracle CLOB采用流机制作为数据读写方式,两则冲突,
所以用这个注解解决,可见spring对LOB有很好的支持,如果用到blob,可以把support后
面的type改掉。当然也可以设置<prop key="hibernate.jdbc.batch_size">0</prop>,不过这个
方法比较不好,会影响效率,不推荐。
@Column(length=10000) :这个简单,就是限制长度,最大值多少没亲自侧过,理论上4G,但在
NTFS文件系统或许不止4G,没试过。
3、以后访问这些对应clob和blob类型的属性时,按普通属性getorSet处理,不需要特别编码。
发表评论
-
spring 事务
2014-03-31 11:14 3411Spring 事务异常回滚 ... -
Spring定时器(Quartz)
2013-08-20 22:54 2779Spring定时器(Quartz) 1. ... -
模拟Spring的 IOC 和 DI
2013-08-15 21:42 1103模拟Spring的 IOC 和 DI 1.BeanFactor ... -
spring任务调度
2013-07-18 17:10 998spring任务调度 1,一个job对应一个处理类(bean ... -
获取ApplicationContext对象的几种方法
2013-01-29 10:47 5522方法一:在初始化时保 ... -
Spring 如何读取properties文件
2013-01-28 16:29 1524Spring 如何读取properties文件 ------ ... -
springSecurity的登录验证
2013-01-27 20:57 2383springSecurity的登录验证 一、Springse ... -
Spring事务配置的五种方式
2013-01-11 15:10 1012Spring事务配置的五种方式 参考1:http://w ... -
ehcache缓存的使用
2013-01-11 15:10 976ehcache缓存的使用 1.ehcache缓存介绍:h ... -
spring事务管理
2012-12-06 14:34 645spring管理事务提交 http: ... -
spring中配置log4j
2012-11-10 16:30 1615log4j 和 slf4j slf4j和log4j用于做日志 ... -
spring每个包的详解
2012-11-09 16:53 931spring每个包的详解 spring.jar 是包含有完 ... -
当Spring管理Struts2时配置的scope="prototype"
2012-11-05 10:36 1024Spring scope="prototype&q ... -
web.xml配置加载spring
2012-11-05 10:36 985web.xml配置加载spring 第一种加载applica ... -
Spring中配置数据源
2012-11-04 20:08 1028Spring中配置数据源 ... -
DelegatingActionProxy
2012-10-31 09:53 1532DelegatingActionProxy org.spri ... -
Spring IOC实例化了哪些对象
2012-10-30 09:25 1398Spring IOC实例化了哪些对象 启动servlet容 ... -
<aop:pointcut />
2012-10-29 17:00 982<aop:config> <aop:po ... -
SSH项目解决乱码问题
2012-10-10 17:55 1179SSH解决乱码问题 第一种:利用spring的filte ... -
sping学习
2012-10-10 17:43 965spring知识点学习 、
相关推荐
初学SpringCloud简单配置Oracle数据库,从Oracle数据库中获取数据
Spring JdbcTemplate调用Oracle存储过程输出游标结果集实现增删改查
Spring Nhibernate with Oracle Managed Driver
Spring boot + oracle 代码示例
使用Spring的JdbcTemplate调用Oracle的存储过程
连接的是oracle 11g,配置成功,查询,更新,都测试成功了
Spring boot连接oracle,并显示数据到页面,并且实现可以打包war发布到tomcat
spring 结合mybatis操作oracle数据
asp.net_spring_nhibernate_oracle 网上关于在.net开发的例子不多,这个例子能跑,遗憾的是,nhibernate在存储过程不完美,在oracle 传回多结果集,只能接受到第一个,官网上也是这样说的。 提示:开发前,先将...
mybatis+spring+springmvc实现对oracle数据库的简单查询,只需修改一下application中数据源的配置,在数据库中建立相应的表即可直接运行
spring+ibatis+oracle分页缓存源码
maven spring struts ibatis oracle框架整合,
activiti-spring-boot-starter-basic 版本:5.22.0 spring-boot-starter-parent 版本:2.1.4.RELEASE 在eclipse导入此项目可直接运行,学习activiti非常好的例子! 这是oracle版本
个人搜集的银行面试资源,不是面经,而是银行感兴趣的业务技术,包括Spring、Oracle、XML处理技术,大多是ppt,简单直观,供大家快速浏览,面试前必备。
oracle spring help chm document
基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh项目源码 基于struts+spring+hibernate+oracle的移动ssh...
spring boot mybatis oracle 例子 1. 排序条件带上 2.分页语句下面连着查询语句 PageHelper.startPage(1, 2, "RECORD_DATE desc"); 实现分页,包已经导入了
JSP-车辆管理系统(struts+hibernate+spring+oracle) 仅供学习交流! 后续会持续分享相关资源,记得关注哦! JSP-车辆管理系统(struts+hibernate+spring+oracle) JSP-车辆管理系统(struts+hibernate+spring+oracle) ...
使用SpringAop使用Oracle数据权限控制
spring监听oracle AQ队列 Oracle AQ with Spring JMS ( Without Spring JDBC Extension )