九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
spring+Hibernate處理Oracle大字段clob
在spring中采用OracleLobHandler來處理oracle大字段(包括clob和blob),則在程序中不需要引用oracle的特殊類,從而能夠保證支持我們的代碼支持多數(shù)據(jù)庫。
1、首先數(shù)據(jù)表中的clob類型對應(yīng)java持久化類的String類型;而blob類型對應(yīng)byte[]類型
2、定義hibernate標(biāo)簽時(shí),持久化類中對應(yīng)clob類型的屬性的hibernate type應(yīng)為org.springframework.orm.hibernate.support.ClobStringType;而對應(yīng)blob類型的屬性的hibernate type應(yīng)為org.springframework.orm.hibernate.support.BlobByteArrayType。
3、以后訪問這些對應(yīng)clob和blob類型的屬性時(shí),按普通屬性處理,不需要特別編碼。
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為處理數(shù)據(jù)庫Lob字段,特別提供了LobHandler接口。在操作Oracle RDBMS過程中,由于Oracle JDBC Driver實(shí)現(xiàn)的問題,應(yīng)用必須采用Oracle原生的數(shù)據(jù)庫連接(比如,oracle.jdbc.OracleConnection)、LOB原生實(shí)現(xiàn)(比如,oracle.sql.BLOB、oracle.sql.CLOB)。因此,LobHandler接口存在上述兩種實(shí)現(xiàn)。簡而言之,為操作Oracle數(shù)據(jù)庫,必須使用OracleLobHandler實(shí)現(xiàn)。如果操作其他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的對應(yīng)的屬性類型為String。
需要注意兩點(diǎn):(1)如果使用Oracle9i自帶的class12.jar這個JDBC驅(qū)動的話是不行的,會報(bào)錯,據(jù)說要升級到classes12-9i.jar,我在Oracle的網(wǎng)站上沒找到對應(yīng)的下載,下載了ojdbc14.jar就可以了。(2)對Clob或Blog的操作必須在一個事務(wù)中進(jìn)行,如在Dao層測試會出錯,在配置了事務(wù)的Logic層就沒問題了。
經(jīng)過測試,如果用Oracle10g的JDBC驅(qū)動就沒這么麻煩了,Hibernate+Oracle+CLOB的讀寫其實(shí)只要這樣做:
1.在Oracle里設(shè)置某字段為clob類型。
2.在Hibernate的配置文件里使用網(wǎng)上下載的Oracle 10g最新的jdbc驅(qū)動。
3.實(shí)體類里把clob字段對應(yīng)的屬性類型設(shè)置為String。
4.hibernate的映射文件*.hbm.xml里把該字段對應(yīng)的類型該為text。
然后就可以在程序里把它當(dāng)成String隨便用了。
補(bǔ)充:按照上面的方法又寫了一個測試類,能夠操作Clob字段了,但是啟動JBOSS后就不能用了,后來找了很久才發(fā)現(xiàn),原來我用的JBOSS的default/lib目錄下也有一下老版本的Class12.jar,刪除它換成最新的ojdbc14.jar就可以了。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
spirng 對clob blob數(shù)據(jù)的處理
Spring 讓 LOB 數(shù)據(jù)操作變得簡單易行
完美解決CLOB問題(Spring + Hibernate + JDBC)
Struts+Spring+Hibernate實(shí)現(xiàn)上傳下載
spring+hibernate+oracle9i讀寫clob
oracle中clob或blob處理的那點(diǎn)破事_孫久久的家
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服