- 浏览: 409076 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (347)
- java基础 (58)
- ajax (10)
- s2sh (10)
- 版本控制 (4)
- 数据库 (34)
- 服务器 (4)
- 开发工具 (8)
- javascript (15)
- soockte (5)
- ext (2)
- 环境搭建 (7)
- struts2 (9)
- 找工作中的面试技巧 (2)
- 承接网站零活 (0)
- JNI+JONSE+OGNL (8)
- 性能优化 (4)
- Android开发 (5)
- xul (8)
- jquery (2)
- 线程 (3)
- jsp+jdbc (7)
- servlet (2)
- java对xml操作 (1)
- IO流的操作 (10)
- 项目开发前配置 (1)
- css (0)
- 上传、下载 (2)
- 知识探讨 (2)
- html (2)
- HQL (0)
- 工作技巧 (1)
- IT (1)
- Hibernate杂谈 (10)
- Spring杂谈 (35)
- DWR (5)
- JUnit测试 (3)
- EasyMock测试web (1)
- ibatis (6)
- maysql (5)
- C++ (0)
- 正则表达式(解剖) (1)
- 密码安全 (2)
- 上传 (1)
- socket (1)
- jni(java与c++结合) (1)
- jdk版本问题 (0)
- tomcat版本问题 (5)
- linux基本命令(初学) (7)
- linux项目发布 (1)
- 3年的经验总结 (1)
- 加解密 (2)
- 高级java阶段 (2)
- java内存分区 (1)
- 浏览器 (1)
- 职业规划 (1)
- 管理 (5)
- java语音 (1)
- SSH (1)
- jsp (3)
- extjs (1)
- uml (2)
- 加密 (1)
- web (2)
- Ant (1)
- 自述 (1)
- Linux (1)
- ssh源码解剖 (1)
- 代码优化 (1)
- 设计模式 (0)
- xml (2)
- JOSN (1)
- scala (0)
- hadoop (0)
- spark (0)
- hana (1)
- shior (1)
- java Word (6)
- java PDF (4)
- java Excel (0)
最新评论
-
高级java工程师:
ztao2333 写道谢谢。收藏下这个总结。呵呵
温习jdk和tomcat -
ztao2333:
大写的,不是大学的
温习jdk和tomcat -
ztao2333:
谢谢。收藏下这个总结。
温习jdk和tomcat -
the_small_base_:
你好,可以提供调用方法吗?需要的Jar,能发下源码吗?谢谢
java实现语音 -
高级java工程师:
文思涌动 写道楼主新年好。可否再传一遍给我,我没有收到, 不清 ...
s2sh整合
关键字: spring+hibernate的clob大字段处理
spring+hibernate的clob大字段处理(转载于javaeye论坛)
在spring中如何处理oracle大字段
在spring中采用OracleLobHandler来处理oracle大字段(包括clob和blob),则在程序中不需要引用oracle的特殊类,从而能够保证支持我们的代码支持多数据库。
1、首先数据表中的clob类型对应java持久化类的String类型;而blob类型对应byte[]类型
2、定义hibernate标签时,持久化类中对应clob类型的属性的hibernate type应为org.springframework.orm.hibernate.support.ClobStringType;而对应blob类型的属性的hibernate type应为org.springframework.orm.hibernate.support.BlobByteArrayType。
3、以后访问这些对应clob和blob类型的属性时,按普通属性处理,不需要特别编码。
java代码:
Spring为处理数据库Lob字段,特别提供了LobHandler接口。在操作Oracle RDBMS过程中,由于Oracle JDBC Driver实现的问题,应用必须采用Oracle原生的数据库连接(比如,oracle.jdbc.OracleConnection)、LOB原生实现(比如,oracle.sql.BLOB、oracle.sql.CLOB)。因此,LobHandler接口存在上述两种实现。简而言之,为操作Oracle数据库,必须使用OracleLobHandler实现。如果操作其他RDBMS类型,则使用DefaultLobHandler。NativeJdbcExtractor是个接口,通过它能够抽象各种连接池。另外Spring还提供两个接口存取Blob,LobCreator及LobHandler
hbm文件配置
JavaBean的对应的属性类型为String。
需要注意两点:(1)如果使用Oracle9i自带的class12.jar这个JDBC驱动的话是不行的,会报错,据说要升级到classes12-9i.jar,我在Oracle的网站上没找到对应的下载,下载了ojdbc14.jar就可以了。(2)对Clob或Blog的操作必须在一个事务中进行,如在Dao层测试会出错,在配置了事务的Logic层就没问题了。
经过测试,如果用Oracle10g的JDBC驱动就没这么麻烦了,Hibernate+Oracle+CLOB的读写其实只要这样做:
1.在Oracle里设置某字段为clob类型。
2.在Hibernate的配置文件里使用网上下载的Oracle 10g最新的jdbc驱动。
3.实体类里把clob字段对应的属性类型设置为String。
4.hibernate的映射文件*.hbm.xml里把该字段对应的类型该为text。
然后就可以在程序里把它当成String随便用了。
补充:按照上面的方法又写了一个测试类,能够操作Clob字段了,但是启动JBOSS后就不能用了,后来找了很久才发现,原来我用的JBOSS的default/lib目录下也有一下老版本的Class12.jar,删除它换成最新的ojdbc14.jar就可以了。
spring+hibernate的clob大字段处理(转载于javaeye论坛)
在spring中如何处理oracle大字段
在spring中采用OracleLobHandler来处理oracle大字段(包括clob和blob),则在程序中不需要引用oracle的特殊类,从而能够保证支持我们的代码支持多数据库。
1、首先数据表中的clob类型对应java持久化类的String类型;而blob类型对应byte[]类型
2、定义hibernate标签时,持久化类中对应clob类型的属性的hibernate type应为org.springframework.orm.hibernate.support.ClobStringType;而对应blob类型的属性的hibernate type应为org.springframework.orm.hibernate.support.BlobByteArrayType。
3、以后访问这些对应clob和blob类型的属性时,按普通属性处理,不需要特别编码。
java代码:
< bean id ="mySessionFactory2" class ="org.springframework.orm.hibernate.LocalSessionFactoryBean" > < property name ="dataSource" > < ref bean ="myDataSource2" /> </ property > < property name ="lobHandler" > < ref bean ="oracleLobHandle" /> </ property > </ bean > < bean id ="nativeJdbcExtractor" class ="org.springframework.jdbc.support.nativejdbc.SimpleNativeJdbcExtractor" /> < bean id ="oracleLobHandle" class ="org.springframework.jdbc.support.lob.OracleLobHandler" Lazy-init ="true" > < property name ="nativeJdbcExtractor" > < ref local ="nativejdbcExtractor" /> </ property > </ bean >
Spring为处理数据库Lob字段,特别提供了LobHandler接口。在操作Oracle RDBMS过程中,由于Oracle JDBC Driver实现的问题,应用必须采用Oracle原生的数据库连接(比如,oracle.jdbc.OracleConnection)、LOB原生实现(比如,oracle.sql.BLOB、oracle.sql.CLOB)。因此,LobHandler接口存在上述两种实现。简而言之,为操作Oracle数据库,必须使用OracleLobHandler实现。如果操作其他RDBMS类型,则使用DefaultLobHandler。NativeJdbcExtractor是个接口,通过它能够抽象各种连接池。另外Spring还提供两个接口存取Blob,LobCreator及LobHandler
hbm文件配置
<property name="content" column="C_Content" type="org.springframework.orm.hibernate3.support.ClobStringType" length="10000"></property>
JavaBean的对应的属性类型为String。
需要注意两点:(1)如果使用Oracle9i自带的class12.jar这个JDBC驱动的话是不行的,会报错,据说要升级到classes12-9i.jar,我在Oracle的网站上没找到对应的下载,下载了ojdbc14.jar就可以了。(2)对Clob或Blog的操作必须在一个事务中进行,如在Dao层测试会出错,在配置了事务的Logic层就没问题了。
经过测试,如果用Oracle10g的JDBC驱动就没这么麻烦了,Hibernate+Oracle+CLOB的读写其实只要这样做:
1.在Oracle里设置某字段为clob类型。
2.在Hibernate的配置文件里使用网上下载的Oracle 10g最新的jdbc驱动。
3.实体类里把clob字段对应的属性类型设置为String。
4.hibernate的映射文件*.hbm.xml里把该字段对应的类型该为text。
然后就可以在程序里把它当成String随便用了。
补充:按照上面的方法又写了一个测试类,能够操作Clob字段了,但是启动JBOSS后就不能用了,后来找了很久才发现,原来我用的JBOSS的default/lib目录下也有一下老版本的Class12.jar,删除它换成最新的ojdbc14.jar就可以了。
发表评论
-
springboot 如何扫描程序中带有指定注解的类和方法
2019-07-23 10:55 3229使用springboot的人基本都知道swagger,那么sw ... -
【第七章】 对JDBC的支持 之 7.5 集成Spring JDBC及最佳实践 ——跟我学spring3
2015-09-28 14:58 6607.5 集成Spring JDBC及最佳实践 ... -
【第七章】 对JDBC的支持 之 7.4 Spring提供的其它帮助 ——跟我学spring3【私塾在线原创】
2015-09-28 14:57 6417.4 Spring提供的其它帮助 7.4 ... -
【第七章】 对JDBC的支持 之 7.3 关系数据库操作对象化 ——跟我学spring3
2015-09-28 14:56 5127.3.1 概述 所谓关系数据 ... -
对JDBC的支持 之 7.2 JDBC模板类 ——跟我学spring3
2015-09-28 14:54 6357.2 JDBC模板类 7.2.1 概述 ... -
【第七章】 对JDBC的支持 之 7.1 概述 ——跟我学spring3
2015-09-28 14:53 4667.1 概述 7.1.1 JDBC回顾 ... -
SpringMVC3强大的请求映射规则详解 第六章 注解式控制器详解——跟着我学SpringMVC
2015-07-21 09:40 500声明:本系列都是原创内容,觉得好就顶一个,让更多人知 ... -
SpringMVC3强大的请求映射规则详解 第六章 注解式控制器详解——跟着我学SpringMVC
2015-07-21 09:38 597声明:本系列都是原创内容,觉得好就顶一个,让更多人知道!!写 ... -
【第五章】Spring表达式语言 之 5.4在Bean定义中使用EL—跟我学spring3
2015-05-25 15:36 3745.4.1 xml风格的配置 ... -
【第五章】Spring表达式语言 之 5.3 SpEL语法 ——跟我学spring3
2015-05-25 15:35 5485.3 SpEL语法 5.3.1 基本表达 ... -
【第五章】Spring表达式语言 之 5.1 概述 5.2 SpEL基础 ——跟我学spring3
2015-05-25 15:33 6645.1 概述 5.1.1 ... -
【第四章】 资源 之 4.4 Resource通配符路径 ——跟我学spring3
2015-05-25 15:31 5684.4.1 使用路径通配符加载Resource ... -
【第四章】 资源 之 4.3 访问Resource ——跟我学spring3
2015-05-25 15:29 5904.3.1 ResourceLoader接口 ... -
第四章 Controller接口控制器详解(1)——跟着我学SpringMVC
2014-09-16 09:49 6914.1、Controller简介 Control ... -
第四章 Controller接口控制器详解(1)——跟着我学SpringMVC
2014-09-16 09:48 12084.1、Controller简介 Control ... -
第一章 Web MVC简介 —— 跟我学SpringMVC
2014-09-16 09:46 736Web MVC简介 1.1、Web开发中的请求-响应模型: ... -
第二章 Spring MVC入门 —— 跟我学SpringMVC
2014-09-16 09:44 14492.1、Spring Web MVC是什么 S ... -
第三章 DispatcherServlet详解 ——跟我学SpringMVC
2014-09-16 09:42 7453.1、DispatcherServlet作用 Dispa ... -
第三章 DispatcherServlet详解 ——跟小龙学SpringMVC
2014-09-16 09:36 03.1、DispatcherServlet作用 Dispa ... -
spring配置详解
2014-05-08 15:50 5291.基本配置: <?xml ve ...
相关推荐
3. **前端技术**:尽管标题未提及,但实现网页打字测速功能还需要HTML、CSS和JavaScript等前端技术。HTML用于构建网页结构,CSS负责样式设计,JavaScript则用于交互逻辑,例如计时、验证用户输入等。 4. **AJAX技术...
这个框架集合是Java开发领域中广泛使用的三大技术,它们分别是Spring框架、Hibernate持久化框架以及Struts(而不是String,可能是打字错误) MVC框架。下面我们将深入探讨这三个组件及其在构建Web应用中的作用。 **...
标签 "sprig年" 可能是打字错误,正确应该是 "Spring年度" 或者 "Spring框架",它强调了这个集合与Spring框架的年度更新有关,可能包含了不同版本的Spring库。 从压缩包子文件的文件名称列表 "jars" 我们可以推断,...
【标签】"java"明确了这个话题的焦点是Java编程,包括但不限于语法、面向对象设计、异常处理、IO流、多线程、集合框架、网络编程等基础概念。此外,也可能涉及到更高级的主题,如反射、JVM内存模型、Spring框架、MVC...
"Thibernate"可能是打字错误,但在这里我们可以理解为讨论包括了事务管理。在JavaEE和Spring应用中,事务管理是确保数据一致性的重要部分。Spring提供了不同的事务管理策略,例如编程式事务管理和声明式事务管理。...
描述中的 "spring java idea web jasb" 可能是指在集成开发环境IntelliJ IDEA(Idea)中进行Spring Java Web应用的开发,其中"jasb"可能是打字错误或者特定项目或技术的简称,但在这里我们主要聚焦Spring、Java和Web...
这个例子可能是通过创建Spring Bean来模拟打字的动作,比如读取输入、处理数据并输出结果。 在标签中,“打字机例子”进一步确认了这是一个教学示例,用于理解和学习Spring如何处理特定的业务逻辑。这可能是为了...
标签“mpi rr ijmage processing spring”进一步确认了主题,其中“ijmage”可能是“image”的打字错误。这表明我们将深入学习如何利用MPI和RR算法优化图像处理任务,特别是在春季这个时间段内开展的活动或者课程。 ...
在本项目中,我们主要关注的是“CompilerDesign:2015 年Spring - 打字稿”,这是一个关于编译器设计的课程项目,使用TypeScript语言进行编写。TypeScript是JavaScript的一个超集,它提供了静态类型系统和其他高级...
《BRGD-Typing-Game:死者的打字启发了2021年Spring的BRGD迷你游戏》是一款基于打字玩法的互动游戏,由BRGD团队在2021年的春季开发。这款游戏的设计灵感源自于传统的打字练习,旨在通过游戏化的方式提升玩家的打字...
SpringBoot是一个基于Spring框架的项目,它简化了基于Spring的应用开发过程,提供了默认配置来帮助开发者快速启动和运行应用。Mybatisplus则是Mybatis的增强工具,在Mybatis的基础上只增加了一些功能特性,它简化了...
标题和描述中提到了“Good web site for smvc”,这里指的应该是“Spring MVC”的学习网站,因为“smvc”可能是一个缩写或是打字错误,而Spring MVC是Java开发中常用的一个模型-视图-控制器(MVC)框架。Spring MVC...
Spring提供了依赖注入(DI)和面向切面编程(AOP)等功能,Struts则主要用于处理MVC模式中的视图与控制器部分,而Hibernate则是一个强大的持久化框架,负责数据库操作。 【描述】提到的“spring mvc”是Spring框架...
【标签】"测试sedd"可能是打字错误,通常相关的标签可能是"SED"或"JEDD",但它们并不是常见的IT术语。如果是指"SSD"(固态硬盘),在Web应用中,它可以提高服务器响应速度,尤其对于大量读写操作的应用。 至于...
所有与编译打字稿,为CSS加上前缀以及安装类型的交互都由gulp处理。 为了更方便地介绍,已在gradle中实现了安装node,npm和gulp的所有任务。动机我的目标是基本,简单且可配置的项目,以轻松地从Spring Boor和...
"ssh"可能是打字错误,通常指的是Struts2、Spring和Hibernate的另一种流行Java Web开发框架组合。 【压缩包子文件的文件名称列表】虽然没有具体列出,但我们可以假设它会包含以下几类文件: 1. **源代码文件**:`....
这个C#实现的小游戏是一个简单的猜数字游戏,让玩家...Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes
标题 "structs hibernate" 可能是打字错误,应该是 "Structs Hibernate",这里可能指的是使用 Struts 框架与 Hibernate 框架整合进行开发的示例。Struts 是一个用于构建企业级 Java web 应用程序的 MVC(模型-视图-...
12. **Spring框架**:学习依赖注入(DI)和控制反转(IOC)原理,使用Spring进行AOP编程和事务管理。 13. **MyBatis**:一个持久层框架,简化数据库操作,结合XML或注解配置,实现SQL与Java代码的分离。 14. **...
“SSH”标签可能是指Spring、Struts和Hibernate的组合,但在本案例中,可能是由于打字错误或混淆,因为源码描述并未提及Hibernate。Spring Boot是现代Java应用的首选启动框架,它简化了Spring应用的配置,提供了默认...