spring对二进制文件(CLOB与BLOB型)的支持

news/2024/7/4 9:04:13

http://yongzhao.javaeye.com/category/36256?list=1&category=5837

 

JdbcTemplate中傳入了AbstractLobCreatingPreparedStatementCallback的實作,並傳入一 個 LobHandler,對於MySQL(MS SQL Server或Oracle 10g),這邊使用DefaultLobHandler即可,對於Oracle 9i特定的LOB處理,我們可以使用OracleLobHandler。

在使用Spring搭配Hibernate時,可以簡化對Lob型態的處理,只要在SessionFactory建構時指定LobHandler,例如:
* beans-config.xml 
 

  1. <beans>  
  2.     <bean id="dataSource"  
  3.         class="org.springframework.jdbc.datasource.DriverManagerDataSource">  
  4.         <property name="driverClassName">  
  5.             <value>com.mysql.jdbc.Driver</value>  
  6.         </property>  
  7.         <property name="url">  
  8.             <value>jdbc:mysql://localhost:3306/demo</value>  
  9.         </property>  
  10.         <property name="username">  
  11.             <value>root</value>  
  12.         </property>  
  13.         <property name="password">  
  14.             <value>123456</value>  
  15.         </property>  
  16.     </bean>  
  17.   
  18.     <bean id="lobHandler"  
  19.         class="org.springframework.jdbc.support.lob.DefaultLobHandler" />  
  20.     <bean id="sessionFactory"  
  21.         class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"  
  22.         destroy-method="close">  
  23.         <property name="dataSource">  
  24.             <ref bean="dataSource" />  
  25.         </property>  
  26.         <property name="lobHandler">  
  27.             <ref bean="lobHandler" />  
  28.         </property>  
  29.         <property name="mappingResources">  
  30.             <list>  
  31.                 <value>onlyfun/caterpillar/User.hbm.xml</value>  
  32.             </list>  
  33.         </property>  
  34.         <property name="hibernateProperties">  
  35.             <props>  
  36.                 <prop key="hibernate.dialect">  
  37.                     org.hibernate.dialect.MySQLDialect   
  38.                 </prop>  
  39.             </props>  
  40.         </property>  
  41.     </bean>  
  42.     <bean id="hibernateTemplate"  
  43.         class="org.springframework.orm.hibernate3.HibernateTemplate">  
  44.         <property name="sessionFactory">  
  45.             <ref bean="sessionFactory" />  
  46.         </property>  
  47.     </bean>  
  48. </beans>  

在這邊指定LobHandler時,對於MySQL、DB2、MS SQL Server、Oracle 10g,使用DefaultLobHandler即可,而對於Oracle 9i,則可以使用OracleLobHandler。

似乎没那么麻烦吧,偶记得偶当时用的时候直接用String就可以了。支持大字节,但是oracle就不可以了,必须用oracle.sql.CLOB来搞定。  
   
  db2的clob还是很好搞定的,你可以直接试试String。Mysql的text和db2的clob操作差不多。


http://www.niftyadmin.cn/n/4423084.html

相关文章

java断点续传的

http://www.budaixi.net/simple/index.php?t13973.html

向服务器上传文件程序

http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID121&threadID34728&messageID203899

VScode C语言编译中文输出乱码

乱码不要慌 仔细看这两次编译的区别 主要原因: cmd编码方式是gbk,而g或gcc是默认utf-8 so 在settings.json中加入以下片段 {"code-runner.executorMap": {"c": "cd $dir && gcc -fexec-charsetGBK $fileName -o $fileNameWithoutExt &…

WPF(五) MVVM模式

一.MVVM的概念 MVVM是Model-View-ViewModel的简写&#xff0c;MVVM是一种设计模式&#xff0c;类似于比较流行的MVC。这种模式引入的主要的目的就是将前端UI视图&#xff08;View&#xff09;和后端逻辑数据&#xff08;Model&#xff09;进行分离&#xff0c;从而降低前后端的…

C语言顺序表的增删改源码

C语言顺序表的增删改查 #define overflow -1 #define ok 1 #define error 0 #define

用Java制作网络文件下载系统

http://www.bitscn.com/java/networkprogram/200605/21377.html http://www.360doc.com/showWeb/0/2/171618.aspx

C语言链表的增删改查源码

C语言链表的增删改查源码 #define overflow -1 #define ok 1 #define error 0 #inclu

用Servlvet实现文件上传

http://www.programfan.com/blog/article.asp?id3673 http://www.chinabs.net/webj2ee/default.asp?infoid317 http://topic.csdn.net/t/20030623/22/1948961.html