hibernate在SSH框架操作ORACLEClob字段类型的读写改
作者:丢失时 | 来源:互联网 | 2023-10-10 17:40
JAVA操作CLOB类型的数据库字段还是有点麻烦,虽然CLOB不像BLOB那样是用二进制来存值,但不能当成普通的String来操作,当初操作ORACLE这种字段类型时,可把我折腾了半天,现将如何操作的
JAVA操作CLOB类型的数据库字段还是有点麻烦,虽然CLOB不像BLOB那样是用二进制来存值,但不能当成普通的String来操作,当初操作ORACLE这种字段类型时,可把我折腾了半天,现将如何操作的步骤写了个比较详细的例子和说明,以供大家参考.
这里只写最关键的几个地方,其它的地方平时该怎么写就怎么写
首先是POJO类:
- import java.sql.Clob;
- import java.util.Date;
- public class KybasicInfo implements java.io.Serializable {
- private Long infoId;
- private String infoTitle;
- private String infoKeyword;
- private Clob infoContent;
- private String infoContentToString;
- private Long infoTop;
- private String userSno;
- private Date infoTime;
- private Long icId;
- private String infoStandby1;
- private String infoStandby2;
- private String infoStandby3;
- private Long infoStandby4;
- private Long infoStandby5;
- private Long infoStandby6;
- public KybasicInfo() {
- }
- public KybasicInfo(String infoTitle, String infoKeyword,
- Clob infoContent, Long infoTop, String userSno,
- Date infoTime, Long icId, String infoStandby1, String infoStandby2,
- String infoStandby3, Long infoStandby4, Long infoStandby5,
- Long infoStandby6) {
- this.infoTitle = infoTitle;
- this.infoKeyword = infoKeyword;
- this.infoContent = infoContent;
- this.infoTop = infoTop;
- this.userSno = userSno;
- this.infoTime = infoTime;
- this.icId=icId;
- this.infoStandby1 = infoStandby1;
- this.infoStandby2 = infoStandby2;
- this.infoStandby3 = infoStandby3;
- this.infoStandby4 = infoStandby4;
- this.infoStandby5 = infoStandby5;
- this.infoStandby6 = infoStandby6;
- }
- public Long getInfoId() {
- return this.infoId;
- }
- public void setInfoId(Long infoId) {
- this.infoId = infoId;
- }
- public String getInfoTitle() {
- return this.infoTitle;
- }
- public void setInfoTitle(String infoTitle) {
- this.infoTitle = infoTitle;
- }
- public String getInfoKeyword() {
- return this.infoKeyword;
- }
- public void setInfoKeyword(String infoKeyword) {
- this.infoKeyword = infoKeyword;
- }
- public Clob getInfoContent() {
- return this.infoContent;
- }
- public void setInfoContent(Clob infoContent) {
- this.infoContent = infoContent;
- }
- public Long getInfoTop() {
- return this.infoTop;
- }
- public void setInfoTop(Long infoTop) {
- this.infoTop = infoTop;
- }
- public Date getInfoTime() {
- return this.infoTime;
- }
- public void setInfoTime(Date infoTime) {
- this.infoTime = infoTime;
- }
- public String getInfoStandby1() {
- return this.infoStandby1;
- }
- public void setInfoStandby1(String infoStandby1) {
- this.infoStandby1 = infoStandby1;
- }
- public String getInfoStandby2() {
- return this.infoStandby2;
- }
- public void setInfoStandby2(String infoStandby2) {
- this.infoStandby2 = infoStandby2;
- }
- public String getInfoStandby3() {
- return this.infoStandby3;
- }
- public void setInfoStandby3(String infoStandby3) {
- this.infoStandby3 = infoStandby3;
- }
- public Long getInfoStandby4() {
- return this.infoStandby4;
- }
- public void setInfoStandby4(Long infoStandby4) {
- this.infoStandby4 = infoStandby4;
- }
- public Long getInfoStandby5() {
- return this.infoStandby5;
- }
- public void setInfoStandby5(Long infoStandby5) {
- this.infoStandby5 = infoStandby5;
- }
- public Long getInfoStandby6() {
- return this.infoStandby6;
- }
- public void setInfoStandby6(Long infoStandby6) {
- this.infoStandby6 = infoStandby6;
- }
- public String getUserSno() {
- return userSno;
- }
- public void setUserSno(String userSno) {
- this.userSno = userSno;
- }
- public Long getIcId() {
- return icId;
- }
- public void setIcId(Long icId) {
- this.icId = icId;
- }
- public String getInfoContentToString() {
- return infoContentToString;
- }
- public void setInfoContentToString(String infoContentToString) {
- this.infoContentToString = infoContentToString;
- }
- }
hbm.xml配置文件
- xml version="1.0" encoding="utf-8"?>
- "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
- <hibernate-mapping>
- <class name="kymanage.kybasic.vo.KybasicInfo" table="KYBASIC_INFO" schema="BL">
- <id name="infoId" type="java.lang.Long">
- <column name="INFO_ID" precision="22" scale="0" />
- <generator class="sequence">
- <param name="sequence">INFO_IDparam>
- generator>
- id>
- <property name="infoTitle" type="java.lang.String">
- <column name="INFO_TITLE" length="100" />
- property>
- <property name="infoKeyword" type="java.lang.String">
- <column name="INFO_KEYWORD" length="100" />
- property>
-
- <property name="infoContent" type="java.sql.Clob">
- <column name="INFO_CONTENT" />
- property>
- <property name="infoTop" type="java.lang.Long">
- <column name="INFO_TOP" precision="38" scale="0" />
- property>
- <property name="userSno" type="java.lang.String">
- <column name="USER_SNO" length="100" />
- property>
- <property name="infoTime" type="java.util.Date">
- <column name="INFO_TIME" length="7" />
- property>
- <property name="icId" type="java.lang.Long">
- <column name="IC_ID" precision="38" scale="0" />
- property>
- <property name="infoStandby1" type="java.lang.String">
- <column name="INFO_STANDBY1" length="100" />
- property>
- <property name="infoStandby2" type="java.lang.String">
- <column name="INFO_STANDBY2" length="100" />
- property>
- <property name="infoStandby3" type="java.lang.String">
- <column name="INFO_STANDBY3" length="100" />
- property>
- <property name="infoStandby4" type="java.lang.Long">
- <column name="INFO_STANDBY4" precision="38" scale="0" />
- property>
- <property name="infoStandby5" type="java.lang.Long">
- <column name="INFO_STANDBY5" precision="22" scale="0" />
- property>
- <property name="infoStandby6" type="java.lang.Long">
- <column name="INFO_STANDBY6" precision="22" scale="0" />
- property>
- class>
- hibernate-mapping>
hibernate DAO类:
推荐阅读
-
本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ...
[详细]
蜡笔小新 2023-12-14 17:24:50
-
本文介绍了一个在线急等问题解决方法,即如何统计数据库中某个字段下的所有数据,并将结果显示在文本框里。作者提到了自己是一个菜鸟,希望能够得到帮助。作者使用的是ACCESS数据库,并且给出了一个例子,希望得到的结果是560。作者还提到自己已经尝试了使用"select sum(字段2) from 表名"的语句,得到的结果是650,但不知道如何得到560。希望能够得到解决方案。 ...
[详细]
蜡笔小新 2023-12-13 15:15:30
-
-
本文详细介绍了GetModuleFileName函数的用法,该函数可以用于获取当前模块所在的路径,方便进行文件操作和读取配置信息。文章通过示例代码和详细的解释,帮助读者理解和使用该函数。同时,还提供了相关的API函数声明和说明。 ...
[详细]
蜡笔小新 2023-12-14 19:29:57
-
本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ...
[详细]
蜡笔小新 2023-12-14 16:06:38
-
在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ...
[详细]
蜡笔小新 2023-12-14 10:57:47
-
本文介绍了如何通过修改织梦DedeCms源代码来实现全站伪静态,以提高管理和SEO效果。全站伪静态可以避免重复URL的问题,同时通过使用mod_rewrite伪静态模块和.htaccess正则表达式,可以更好地适应搜索引擎的需求。文章还提到了一些相关的技术和工具,如Ubuntu、qt编程、tomcat端口、爬虫、php request根目录等。 ...
[详细]
蜡笔小新 2023-12-14 19:45:47
-
本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ...
[详细]
蜡笔小新 2023-12-14 18:23:25
-
本文介绍了使用kotlin实现动画效果的方法,包括上下移动、放大缩小、旋转等功能。通过代码示例演示了如何使用ObjectAnimator和AnimatorSet来实现动画效果,并提供了实现抖动效果的代码。同时还介绍了如何使用translationY和translationX来实现上下和左右移动的效果。最后还提供了一个anim_small.xml文件的代码示例,可以用来实现放大缩小的效果。 ...
[详细]
蜡笔小新 2023-12-14 17:29:08
-
本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ...
[详细]
蜡笔小新 2023-12-14 14:44:00
-
本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ...
[详细]
蜡笔小新 2023-12-14 12:01:13
-
使用Ubuntu中的Python获取浏览器历史记录原文: ...
[详细]
蜡笔小新 2023-12-14 08:57:59
-
本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ...
[详细]
蜡笔小新 2023-12-14 03:24:19
-
本文对MyBatis的错题进行了分析和解析,同时介绍了使用MyBatis时需要注意的一些事项,如resultMap的使用、SqlSession和SqlSessionFactory的获取方式、动态SQL中的else元素和when元素的使用、resource属性和url属性的配置方式、typeAliases的使用方法等。同时还指出了在属性名与查询字段名不一致时需要使用resultMap进行结果映射,而不能使用resultType。 ...
[详细]
蜡笔小新 2023-12-13 18:40:17
-
本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ...
[详细]
蜡笔小新 2023-12-13 14:27:11
-
前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ...
[详细]
蜡笔小新 2023-12-13 09:34:59
-