最近用到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>
分享到:
相关推荐
本压缩包“jar框架包2”聚焦于四大关键技术:Ibatis、Spring、Oracle和MySQL,这四者在企业级Java应用开发中扮演着至关重要的角色。 Ibatis,全名MyBatis,是一个优秀的持久层框架,它支持定制化SQL、存储过程以及...
根据提供的标题、描述以及部分代码内容,我们可以整理出关于如何在Spring框架中处理Oracle数据库中的BLOB类型数据的相关知识点。 ### 一、BLOB类型简介 BLOB(Binary Large Object)是二进制大对象的缩写,通常...
在这个特定的案例中,我们关注的是"Ibatis Spring Struts"的整合。这三个框架分别是:Ibatis(一个轻量级的持久层框架),Spring(一个全面的企业级应用开发框架),以及Struts(一个用于构建MVC(Model-View-...
最近想在最新的Spring5.0中集成ibatis(不是mybatis),发现已经不在支持SqlmapClientTemplate和SqlmapClientFactoryBean,于是搞了这个工具jar来进行支持如下配置 <bean id="sqlMapClient" class="org.spring...
在本项目中,我们主要探讨的是如何利用Spring MVC、iBATIS和Oracle数据库来实现一个基本的单表操作,包括增、删、改等常见功能。Spring MVC是Spring框架的一个模块,专门处理Web应用程序的模型-视图-控制器(MVC)...
2. **Spring配置文件**:配置了Spring的bean,包括XFire的服务发布配置和iBatis的数据源、SqlMapConfig等。 3. **iBatis的映射文件**:包含了SQL查询的XML文件,定义了与数据库交互的SQL语句和结果集映射。 4. **...
Struts2 ibatis Spring
Spring、iBatis和Oracle的结合提供了强大的数据处理能力。本文将深入探讨这些技术如何协同工作,实现高效的分页缓存策略。 首先,Spring是一个开源的Java框架,它为开发人员提供了依赖注入(DI)和面向切面编程...
"ibatis spring struts1.2"是一个经典的Java企业级开发组合,它将三个强大的技术——iBatis(一个轻量级的持久层框架)、Spring(一个全面的企业应用框架)和Struts1.2(一个MVC框架)结合在一起,为Web应用程序提供...
Struts2、Spring、iBatis以及Oracle是Java Web开发中的四大核心组件,它们共同构建了一个强大且灵活的后端架构。在这个实例中,我们将会深入探讨这些技术如何协同工作,实现分页搜索功能和上传附件操作。 1. **...
### ibatis与Spring框架整合详解 #### 一、ibatis简介 ibatis是一个开源的、基于Java的持久层框架,它提供了SQL映射的方式来进行数据库访问。与Hibernate等其他ORM框架相比,ibatis更加轻量级,对于那些只需要简单...
本文将深入探讨如何将Ibatis、Spring和SpringMVC这三个流行的Java技术进行整合,以实现一个完整的Web应用解决方案。 首先,Ibatis是一个轻量级的持久层框架,它解决了JDBC繁琐的数据访问代码,提供了一种SQL映射...
iBatis和Spring整合 iBatis和Spring整合
Oracle 和 iBatis 是两个在 Java 开发中广泛使用的数据库管理和持久层框架。iBatis 是一个优秀的 SQL 映射框架,它允许开发者将 SQL 查询直接写入 XML 文件,从而与 Java 代码分离,提高可维护性和灵活性。而 Oracle...
【webwork+ibatis+spring oracle c3p0 集成框架】 WebWork、iBatis、Spring 和 Oracle C3P0 是四个在企业级Java应用开发中常用的组件,它们各自扮演着不同的角色,而将它们集成在一起可以构建一个高效、灵活且可...
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**是Java项目管理工具,它负责管理项目的依赖...
本文将深入探讨如何利用Ibatis实现一对多关系、批处理、事务管理和与Spring及Struts2的集成。 首先,让我们来看一下“一对多”关系。在数据库设计中,一对多关系很常见,比如一个用户可以有多个订单。在Ibatis中,...
Struts2、iBatis和Spring是Java Web开发中三个非常重要的开源框架,它们共同构建了一个强大的企业级应用架构。这个实例集成了这三个框架,提供了一个完整的应用示例,包括了必要的jar包和一个权限管理的例子,对于...