Hibernate操作Clob类型完整版.docx

上传人:b****6 文档编号:16356395 上传时间:2023-07-12 格式:DOCX 页数:21 大小:19.20KB
下载 相关 举报
Hibernate操作Clob类型完整版.docx_第1页
第1页 / 共21页
Hibernate操作Clob类型完整版.docx_第2页
第2页 / 共21页
Hibernate操作Clob类型完整版.docx_第3页
第3页 / 共21页
Hibernate操作Clob类型完整版.docx_第4页
第4页 / 共21页
Hibernate操作Clob类型完整版.docx_第5页
第5页 / 共21页
Hibernate操作Clob类型完整版.docx_第6页
第6页 / 共21页
Hibernate操作Clob类型完整版.docx_第7页
第7页 / 共21页
Hibernate操作Clob类型完整版.docx_第8页
第8页 / 共21页
Hibernate操作Clob类型完整版.docx_第9页
第9页 / 共21页
Hibernate操作Clob类型完整版.docx_第10页
第10页 / 共21页
Hibernate操作Clob类型完整版.docx_第11页
第11页 / 共21页
Hibernate操作Clob类型完整版.docx_第12页
第12页 / 共21页
Hibernate操作Clob类型完整版.docx_第13页
第13页 / 共21页
Hibernate操作Clob类型完整版.docx_第14页
第14页 / 共21页
Hibernate操作Clob类型完整版.docx_第15页
第15页 / 共21页
Hibernate操作Clob类型完整版.docx_第16页
第16页 / 共21页
Hibernate操作Clob类型完整版.docx_第17页
第17页 / 共21页
Hibernate操作Clob类型完整版.docx_第18页
第18页 / 共21页
Hibernate操作Clob类型完整版.docx_第19页
第19页 / 共21页
Hibernate操作Clob类型完整版.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Hibernate操作Clob类型完整版.docx

《Hibernate操作Clob类型完整版.docx》由会员分享,可在线阅读,更多相关《Hibernate操作Clob类型完整版.docx(21页珍藏版)》请在冰点文库上搜索。

Hibernate操作Clob类型完整版.docx

Hibernate操作Clob类型完整版

Hibernate操作Clob类型完整版!

最近,使用Hibernate操作Clob。

上网看了不少资料,感觉五花八门,实现起来的方法都各不相同。

有的是Hibernate2.0上的。

有的是加入了spring的支持,把clob当成string做处理(的确很好,但是不适合新手)

........

而且,某些代码根本都执行不了~浪费我们的时间,55555555。

于是,法老参考了一些官网的方法加以修改,干脆重新写一个完整元操作版本。

包含:

insert,update,delete,select四大基本方法!

供大家参考!

-------------------------------------------

测试环境介绍:

WINDWOSXPSP2;Eclipse3.2;JDK1.4.2

Hibernate-Version:

3.0.5;oracle9i;

=====================

重点说明:

1。

配置文件hbm.xml里把clob的type="clob"

片段如下

<propertyname="bsznContent"type="clob">

<columnname="BSZN_CONTENT"not-null="true"/>

</property>

2。

实体bean中,导入java.sql.Clob包(注意不是oracle.sql.CLOB个人习惯用血统纯点的.这里鄙视一下oracle。

嘿嘿)

在该字段对应的实体文件里面,增加以下两个变量及其相应的get/set方法

importjava.sql.Clob;

...

privateClobbsznContent;

privateStringbsznContentString;

...

publicClobgetBsznContent(){

returnthis.bsznContent;

}

publicvoidsetBsznContent(ClobbsznContent){

this.bsznContent=bsznContent;

}

publicStringgetBsznContentString(){

returnbsznContentString;

}publicvoidsetBsznContentString(StringbsznContentString){

this.bsznContentString=bsznContentString;

}

bsznContent属性是默认的clob,bsznContentString属性是对bsznContent做转换时候用的

----------------------------------------

好了废话不多说,把代码写下来吧~

建表SQL

=================

/*Table:

"cmp_bszn"相关SQL*/

/*==============================================================*/

createtable"cmp_bszn"(

"id"INTEGERnotnull,

"kind"CHAR

(2)notnull,

"bszn_title1"VARCHAR2(200)notnull,

"bszn_title2"VARCHAR2(200),

"bszn_code"VARCHAR2(50),

"bszn_bumen"VARCHAR2(50),

"bszn_date"VARCHAR2(50),

"bszn_content"CLOBnotnull,

"sys_date"DATEdefaultSYSDATEnotnull,

constraintPK_CMP_BSZNprimarykey("id")

);hibernate.cfg.xml由于调试用,用的是JDBC连接方法,要使用连接池,请自行修改.

记得自己把数据库地址和用户名,秘密改下<?

xmlversion='1.0'encoding='UTF-8'?

>

<!

DOCTYPEhibernate-configurationPUBLIC

"-//Hibernate/HibernateConfigurationDTD3.0//EN"

"GeneratedbyMyEclipseHibernateTools.-->

<hibernate-configuration><session-factory>

<propertyname="connection.username">sa</property>

<propertyname="connection.url">

jdbc:

oracle:

thin:

@127.0.0.1:

1521:

web

</property>

<propertyname="dialect">

org.hibernate.dialect.Oracle9Dialect

</property>

<propertyname="connection.password">saweb</property>

<propertyname="connection.driver_class">

oracle.jdbc.driver.OracleDriver

</property><propertyname="show_sql">true</property>

<propertyname="connection.useUnicode">true</property>

<propertyname="connection.characterEncoding">GBK</property>

<!

--設定事務管理的工廠類-->

<propertyname="hibernate.transaction.factory_class">

org.hibernate.transaction.JDBCTransactionFactory

</property>

<propertyname="hibernate.query.factory_class">

org.hibernate.hql.classic.ClassicQueryTranslatorFactory

</property>

<mappingresource="clob/cmpBszn.hbm.xml"/>

</session-factory></hibernate-configuration>

cmpBszn.hbm.xml<?

xmlversion="1.0"?

>

<!

DOCTYPEhibernate-mappingPUBLIC"-//Hibernate/HibernateMappingDTD3.0//EN"

"

<!

--

MappingfileautogeneratedbyMyEclipse-HibernateTools

-->

<hibernate-mapping>

<classname="cmpBszn"table="CMP_BSZN"schema="SA">

<idname="id"type="java.lang.Long">

<columnname="ID"precision="22"scale="0"/>

<generatorclass="increment"></generator>

</id>

<propertyname="kind"type="java.lang.String">

<columnname="KIND"length="2"not-null="true"/>

</property>

<propertyname="bsznTitle1"type="java.lang.String">

<columnname="BSZN_TITLE1"length="200"not-null="true"/>

</property>

<propertyname="bsznTitle2"type="java.lang.String">

<columnname="BSZN_TITLE2"length="200"/>

</property>

<propertyname="bsznCode"type="java.lang.String">

<columnname="BSZN_CODE"length="50"/>

</property>

<propertyname="bsznBumen"type="java.lang.String">

<columnname="BSZN_BUMEN"length="50"/>

</property>

<propertyname="bsznDate"type="java.lang.String">

<columnname="BSZN_DATE"length="50"/>

</property>

<propertyname="bsznContent"type="clob">

<columnname="BSZN_CONTENT"not-null="true"/>

</property>

<propertyname="sysDate"type="java.util.Date">

<columnname="SYS_DATE"length="7"not-null="true"/>

</property>

</class>

</hibernate-mapping>抽象类AbstractcmpBszn.java//defaultpackageimportjava.sql.Clob;

importjava.util.Date;/**

*AbstractcmpBszngeneratedbyMyEclipse-HibernateTools

*/publicabstractclassAbstractcmpBsznimplementsjava.io.Serializable{//FieldsprivateLongid;

privateStringkind;

privateStringbsznTitle1;

privateStringbsznTitle2;

privateStringbsznCode;

privateStringbsznBumen;

privateStringbsznDate;

privateClobbsznContent;

privateStringbsznContentString;

privateDatesysDate;//Constructors/**defaultconstructor*/

publicAbstractcmpBszn(){

}/**minimalconstructor*/

publicAbstractcmpBszn(Stringkind,StringbsznTitle1,ClobbsznContent,DatesysDate){

this.kind=kind;

this.bsznTitle1=bsznTitle1;

this.bsznContent=bsznContent;

this.sysDate=sysDate;

}

/**fullconstructor*/

publicAbstractcmpBszn(Stringkind,StringbsznTitle1,StringbsznTitle2,StringbsznCode,StringbsznBumen,StringbsznDate,ClobbsznContent,DatesysDate){

this.kind=kind;

this.bsznTitle1=bsznTitle1;

this.bsznTitle2=bsznTitle2;

this.bsznCode=bsznCode;

this.bsznBumen=bsznBumen;

this.bsznDate=bsznDate;

this.bsznContent=bsznContent;

this.sysDate=sysDate;

}

//PropertyaccessorspublicLonggetId(){

returnthis.id;

}

publicvoidsetId(Longid){

this.id=id;

}publicStringgetKind(){

returnthis.kind;

}

publicvoidsetKind(Stringkind){

this.kind=kind;

}publicStringgetBsznTitle1(){

returnthis.bsznTitle1;

}

publicvoidsetBsznTitle1(StringbsznTitle1){

this.bsznTitle1=bsznTitle1;

}publicStringgetBsznTitle2(){

returnthis.bsznTitle2;

}

publicvoidsetBsznTitle2(StringbsznTitle2){

this.bsznTitle2=bsznTitle2;

}publicStringgetBsznCode(){

returnthis.bsznCode;

}

publicvoidsetBsznCode(StringbsznCode){

this.bsznCode=bsznCode;

}publicStringgetBsznBumen(){

returnthis.bsznBumen;

}

publicvoidsetBsznBumen(StringbsznBumen){

this.bsznBumen=bsznBumen;

}publicStringgetBsznDate(){

returnthis.bsznDate;

}

publicvoidsetBsznDate(StringbsznDate){

this.bsznDate=bsznDate;

}publicClobgetBsznContent(){

returnthis.bsznContent;

}

publicvoidsetBsznContent(ClobbsznContent){

this.bsznContent=bsznContent;

}publicDategetSysDate(){

returnthis.sysDate;

}

publicvoidsetSysDate(DatesysDate){

this.sysDate=sysDate;

}publicStringgetBsznContentString(){

returnbsznContentString;

}publicvoidsetBsznContentString(StringbsznContentString){

this.bsznContentString=bsznContentString;

}

}

实体类cmpBszn//defaultpackage

//GeneratedbyMyEclipse-HibernateToolsimportjava.sql.Clob;

importjava.util.Date;/**

*cmpBszngeneratedbyMyEclipse-HibernateTools

*/

publicclasscmpBsznextendsAbstractcmpBsznimplementsjava.io.Serializable{//Constructors/**defaultconstructor*/

publiccmpBszn(){

}/**minimalconstructor*/

publiccmpBszn(Stringkind,StringbsznTitle1,ClobbsznContent,DatesysDate){

super(kind,bsznTitle1,bsznContent,sysDate);

}

/**fullconstructor*/

publiccmpBszn(Stringkind,StringbsznTitle1,StringbsznTitle2,StringbsznCode,StringbsznBumen,StringbsznDate,ClobbsznContent,DatesysDate){

super(kind,bsznTitle1,bsznTitle2,bsznCode,bsznBumen,bsznDate,bsznContent,sysDate);

}

}SessionManager管理类(这个是通用的,如果你要自己写也可以)packageHib_DB;importorg.hibernate.HibernateException;

importorg.hibernate.Session;

importorg.hibernate.cfg.Configuration;/**

*ConfiguresandprovidesaccesstoHibernatesessions,tiedtothe

*currentthreadofexecution.FollowstheThreadLocalSession

*pattern,see{@linkhttp:

//hibernate.org/42.html}.

*/

publicclassSessionManager{/**

*Locationofhibernate.cfg.xmlfile.

*LocationshouldbeontheclasspathasHibernateuses

*#resourceAsStreamstylelookupforitsconfigurationfile.

*Thedefaultclasspathlocationofthehibernateconfigfileis

*inthedefaultpackage.Use#setConfigFile()toupdate

*thelocationoftheconfigurationfileforthecurrentsession.

*/

privatestaticStringCONFIG_FILE_LOCATION="/hibernate.cfg.xml";

privatestaticfinalThreadLocalthreadLocal=newThreadLocal();

privatestaticConfigurationconfiguration=newConfiguration();

privatestaticorg.hibernate.SessionFactorysessionFactory;

privatestaticStringconfigFile=CONFIG_FILE_LOCATION;privateSessionManager(){

}

/**

*ReturnstheThreadLocalSessioninstance.Lazyinitialize

*the<code>SessionFactory</code>ifneeded.

*

*@returnSession

*@throwsHibernateException

*/

publicstaticSessiongetSession()throwsHibernateException{

Sessionsession=(Session)threadLocal.get();if(session==null||!

session.isOpen()){

if(sessionFactory==null){

rebuildSessionFactory();

}

session=(sessionFactory!

=null)?

sessionFactory.openSession()

:

null;

threadLocal.set(session);

}returnsession;

}/**

*Rebuildhibernatesessionfactory

*

*/

publicst

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2