隨筆-16  評論-54  文章-0  trackbacks-0

          在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
          posted on 2006-08-28 11:58 jspark 閱讀(891) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 利津县| 资阳市| 永登县| 喀喇沁旗| 乌拉特中旗| 陈巴尔虎旗| 大厂| 延庆县| 称多县| 民县| 勐海县| 萨迦县| 吕梁市| 收藏| 友谊县| 龙门县| 邹平县| 嫩江县| 岑溪市| 菏泽市| 高密市| 浦江县| 方山县| 凤翔县| 定陶县| 绥芬河市| 克拉玛依市| 静海县| 石首市| 云和县| 岐山县| 多伦县| 理塘县| 涞源县| 衡阳县| 乳源| 涞水县| 界首市| 聂荣县| 积石山| 灌云县|