`

oracle ibatis Spring blob

阅读更多
最近用到blob类型的字段,在网上看了看,大部分都没成功。自己试验些时间,整理个可以运行的,以便将来用的时候不用在到网上搜来搜去的了!

闲话少说,只将关键代码贴出来
1.表
create table TBL_SYS_BULLIT  (
   TPI_ID               VARCHAR2(10)                    not null,    
   TPI_TITLE            VARCHAR2(200)                   not null,
   TPI_CONTENT_URL      BLOB )


2.实体BulletinVo.java
public class BulletinVo {

	private String tpiId;
	private String tpiTitle;
	private byte[] tpiContentUrl;

	public BulletinVo() {

	}

	public String getTpiId() {
		return tpiId;
	}

	public void setTpiId(String tpiId) {
		this.tpiId = tpiId;
	}

	public String getTpiTitle() {
		return tpiTitle;
	}

	public void setTpiTitle(String tpiTitle) {
		this.tpiTitle = tpiTitle;
	}

	public byte[] getTpiContentUrl() {
		return tpiContentUrl;
	}

	public void setTpiContentUrl(byte[] tpiContentUrl) {
		this.tpiContentUrl = tpiContentUrl;
	}

}


3.sqlMapConfig.xml
<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE sqlMapConfig      
	PUBLIC "-//ibatis.apache.org//DTD SQL Map Config 2.0//EN"      
	"http://ibatis.apache.org/dtd/sql-map-config-2.dtd">

<sqlMapConfig>

	<!-- 使用命名空间 用于区分重名问题 -->
	<settings useStatementNamespaces="true" /> 
	
	typeHandler jdbcType="BLOB" javaType="[B"  
		callback="org.springframework.orm.ibatis.support.BlobByteArrayTypeHandler" />  
	<typeHandler jdbcType="CLOB" javaType="java.lang.String"  
		callback="org.springframework.orm.ibatis.support.ClobStringTypeHandler" /> 		
	 </sqlMapConfig>


4.applicationContext-dao.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">

	<!-- Transaction manager  -->
	<bean id="transactionManager"
		class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
		<property name="dataSource" ref="dataSource"/>
	</bean>
	
	<!-- LobHandler for Oracle JDBC drivers -->  
	<!-- (refers to the NativeJdbcExtractor above to get access to native OracleConnections) -->  
	<bean id="nativeJdbcExtractor" class="org.springframework.jdbc.support.nativejdbc.C3P0NativeJdbcExtractor"  
		lazy-init="true" />   
	<bean id="oracleLobHandler" class="org.springframework.jdbc.support.lob.OracleLobHandler" lazy-init="true">  
		<property name="nativeJdbcExtractor">  
			<ref local="nativeJdbcExtractor" />  
		</property>  
	</bean> 

	<!-- Spring提供的iBatis的SqlMap配置-->
	<bean id="sqlMapClient"
		class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
		<property name="configLocation" value="classpath:sqlMapConfig.xml"/>
		<property name="dataSource" ref="dataSource"/>
		[color=red]<property name="lobHandler">  
			<ref local="oracleLobHandler" />  
		</property> 
	</bean>
	
</beans>


5.bulletin.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMap
PUBLIC "-//ibatis.apache.org//DTD SQL Map 2.0//EN"
"http://ibatis.apache.org/dtd/sql-map-2.dtd">
<sqlMap namespace="sysBullit">
 	 <typeAlias alias="BulletinVo" type="包名.BulletinVo" />
 	 <typeAlias alias="iCriteria" type="包名.IbatisCeteria" />

 	 <select id="selectBulletin" parameterClass="iCriteria" resultClass="BulletinVo">
 	 select  	  	  
 	  	 SysBullit.TPI_ID as tpiId,  
 	  	 SysBullit.TPI_TITLE as tpiTitle, 
 	  	 SysBullit.TPI_CONTENT_URL as tpiContentUrl 
 	  from TBL_SYS_BULLIT  SysBullit
 	  where   1=1
 	 </select>

 	 <update id="updateBulletin" parameterClass="BulletinVo">
 	 update TBL_SYS_BULLIT
 	 		 set  
 	  	  	 <isNotNull property="tpiId" prepend=",">TPI_ID = #tpiId# </isNotNull> 
 	  	  	 <isNotNull property="tpiTitle" prepend=",">TPI_TITLE = #tpiTitle# </isNotNull>  
 	  	  	 <isNotNull property="tpiContentUrl" prepend=",">TPI_CONTENT_URL = #tpiContentUrl:BLOB# </isNotNull> 
 	  	  where  	 TBL_SYS_BULLIT.TPI_ID = #tpiId#   
 	 </update>

 	 <insert id="insertBulletin" parameterClass="BulletinVo"> 
 	 insert into TBL_SYS_BULLIT ( 
 	 		 <isNotNull property="tpiId" prepend=",">TPI_ID</isNotNull> 
 	  	  	 <isNotNull property="tpiTitle" prepend=",">TPI_TITLE</isNotNull> 
 	  	  	 <isNotNull property="tpiContentUrl" prepend=",">TPI_CONTENT_URL </isNotNull> 
 	  	 )
 	  values (
 	   		 <isNotNull property="tpiId" prepend=",">#tpiId#</isNotNull> 
 	  	  	 <isNotNull property="tpiTitle" prepend=",">#tpiTitle#</isNotNull> 
 	  	  	 <isNotNull property="tpiApprDate" prepend=",">#tpiApprDate#</isNotNull>
 	  	  	 <isNotNull property="tpiContentUrl" prepend=",">#tpiContentUrl:BLOB# </isNotNull> 
 	  	 )
 	 </insert>

</sqlMap>


1
0
分享到:
评论

相关推荐

    jar框架包2 ibatis spring oracle mysql

    本压缩包“jar框架包2”聚焦于四大关键技术:Ibatis、Spring、Oracle和MySQL,这四者在企业级Java应用开发中扮演着至关重要的角色。 Ibatis,全名MyBatis,是一个优秀的持久层框架,它支持定制化SQL、存储过程以及...

    spring oracle blob

    根据提供的标题、描述以及部分代码内容,我们可以整理出关于如何在Spring框架中处理Oracle数据库中的BLOB类型数据的相关知识点。 ### 一、BLOB类型简介 BLOB(Binary Large Object)是二进制大对象的缩写,通常...

    ibatis spring struts 整合案例

    在这个特定的案例中,我们关注的是"Ibatis Spring Struts"的整合。这三个框架分别是:Ibatis(一个轻量级的持久层框架),Spring(一个全面的企业级应用开发框架),以及Struts(一个用于构建MVC(Model-View-...

    Spring高版本对ibatis的支持

    最近想在最新的Spring5.0中集成ibatis(不是mybatis),发现已经不在支持SqlmapClientTemplate和SqlmapClientFactoryBean,于是搞了这个工具jar来进行支持如下配置 &lt;bean id="sqlMapClient" class="org.spring...

    spring mvc+ibatis+oracle单表增删改(有包)

    在本项目中,我们主要探讨的是如何利用Spring MVC、iBATIS和Oracle数据库来实现一个基本的单表操作,包括增、删、改等常见功能。Spring MVC是Spring框架的一个模块,专门处理Web应用程序的模型-视图-控制器(MVC)...

    xfire ibatis spring web service

    2. **Spring配置文件**:配置了Spring的bean,包括XFire的服务发布配置和iBatis的数据源、SqlMapConfig等。 3. **iBatis的映射文件**:包含了SQL查询的XML文件,定义了与数据库交互的SQL语句和结果集映射。 4. **...

    s2si--Struts2 ibatis Spring

    Struts2 ibatis Spring

    spring+ibatis+oracle分页缓存源码

    Spring、iBatis和Oracle的结合提供了强大的数据处理能力。本文将深入探讨这些技术如何协同工作,实现高效的分页缓存策略。 首先,Spring是一个开源的Java框架,它为开发人员提供了依赖注入(DI)和面向切面编程...

    ibatis spring struts1.2

    "ibatis spring struts1.2"是一个经典的Java企业级开发组合,它将三个强大的技术——iBatis(一个轻量级的持久层框架)、Spring(一个全面的企业应用框架)和Struts1.2(一个MVC框架)结合在一起,为Web应用程序提供...

    struts2+spring+ibatis+oracle+分页搜索+上传附件实例

    Struts2、Spring、iBatis以及Oracle是Java Web开发中的四大核心组件,它们共同构建了一个强大且灵活的后端架构。在这个实例中,我们将会深入探讨这些技术如何协同工作,实现分页搜索功能和上传附件操作。 1. **...

    ibatis与spring整合

    ### ibatis与Spring框架整合详解 #### 一、ibatis简介 ibatis是一个开源的、基于Java的持久层框架,它提供了SQL映射的方式来进行数据库访问。与Hibernate等其他ORM框架相比,ibatis更加轻量级,对于那些只需要简单...

    Ibatis Spring SpringMVC 整合

    本文将深入探讨如何将Ibatis、Spring和SpringMVC这三个流行的Java技术进行整合,以实现一个完整的Web应用解决方案。 首先,Ibatis是一个轻量级的持久层框架,它解决了JDBC繁琐的数据访问代码,提供了一种SQL映射...

    iBatis和Spring整合

    iBatis和Spring整合 iBatis和Spring整合

    oracle ibatis 配置

    Oracle 和 iBatis 是两个在 Java 开发中广泛使用的数据库管理和持久层框架。iBatis 是一个优秀的 SQL 映射框架,它允许开发者将 SQL 查询直接写入 XML 文件,从而与 Java 代码分离,提高可维护性和灵活性。而 Oracle...

    webwork+ibatis+spring oracle c3p0 集成框架

    【webwork+ibatis+spring oracle c3p0 集成框架】 WebWork、iBatis、Spring 和 Oracle C3P0 是四个在企业级Java应用开发中常用的组件,它们各自扮演着不同的角色,而将它们集成在一起可以构建一个高效、灵活且可...

    Spring与iBATIS的集成

    Spring与iBATIS的集成 iBATIS似乎已远离众说纷纭的OR框架之列,通常人们对非常流行的Hibernate情有独钟。但正如Spring A Developer's Notebook作者Bruce Tate 和Justin Gehtland所说的那样,与其他的OR框架相比...

    maven spring struts ibatis oracle框架整合

    "maven spring struts ibatis oracle框架整合"就是一个典型的例子,它涉及到四个关键的技术组件:Maven、Spring、Struts和iBatis,以及数据库管理系统Oracle。 **Maven**是Java项目管理工具,它负责管理项目的依赖...

    ibatis 完美例子 一对多 批处理 事务 和 spring struts2集成

    本文将深入探讨如何利用Ibatis实现一对多关系、批处理、事务管理和与Spring及Struts2的集成。 首先,让我们来看一下“一对多”关系。在数据库设计中,一对多关系很常见,比如一个用户可以有多个订单。在Ibatis中,...

    struts2 ibatis spring 实例

    Struts2、iBatis和Spring是Java Web开发中三个非常重要的开源框架,它们共同构建了一个强大的企业级应用架构。这个实例集成了这三个框架,提供了一个完整的应用示例,包括了必要的jar包和一个权限管理的例子,对于...

Global site tag (gtag.js) - Google Analytics