`

Spring框架下的ibatis应用

阅读更多

针对ibatis,Spring配置文件如下:

Ibatis-Context.xml:

 

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

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"  "http://www.springframework.org/dtd/spring-beans.dtd">

       <beans>

            <bean id="dataSource"  class="org.apache.commons.dbcp.BasicDataSource"

                destroy-method="close">

                        <property name="driverClassName">

                             <value>net.sourceforge.jtds.jdbc.Driver</value>

                       </property>

                       <property name="url">

                             <value>jdbc:jtds:sqlserver://127.0.0.1:1433/Sample</value>

                       </property>

                      <property name="username">

                             <value>test</value>

                      </property>

                      <property name="password">

                          <value>changeit</value>

                    </property>

               </bean>

 

              <bean id="sqlMapClient"    class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">

                 <property name="configLocation">

                       <value>SqlMapConfig.xml</value>

                 </property>

               </bean>

 

             <bean id="transactionManager"   class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

                    <property name="dataSource">

                         <ref local="dataSource"/>

                   </property>

               </bean>

 

              <bean id="userDAO" class="net.xiaxin.dao.UserDAO">

                  <property name="dataSource">

                      <ref local="dataSource" />

                 </property>

                 <property name="sqlMapClient">

                       <ref local="sqlMapClient" />

                 </property>

           </bean>

 

           <bean id="userDAOProxy"   class="org.springframework.transaction.interceptor.TransactionPro

xyFactoryBean">

                 <property name="transactionManager">

                        <ref bean="transactionManager" />

                 </property>

                 <property name="target">

                          <ref local="userDAO" />

                  </property>

                  <property name="transactionAttributes">

                           <props>

                                     <prop key="insert*">PROPAGATION_REQUIRED</prop>

                                     <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>

                          </props>

                   </property>

             </bean>

</beans>

 

 

 

可以看到:

1. sqlMapClient节点

sqlMapClient节点实际上配置了一个sqlMapClient的创建工厂类。

configLocation属性配置了ibatis映射文件的名称。

2. transactionManager节点

transactionManager采用了Spring中的DataSourceTransactionManager。

3. userDAO节点

对应的,UserDAO需要配置两个属性,sqlMapClient和DataSource,

sqlMapClient将从指定的DataSource中获取数据库连接。

 

 

Ibatis映射文件非常简单:

sqlMapConfig.xml:

 

<sqlMapConfig>

<sqlMap resource="net/xiaxin/dao/entity/user.xml"/>

</sqlMapConfig>

 

 

net/xiaxin/dao/entity/user.xml

 

<sqlMap namespace="User">

<typeAlias alias="user" type="net.xiaxin.dao.entity.User" />

<insert id="insertUser" parameterClass="user">

INSERT INTO users ( username, password) VALUES ( #username#,

#password# )

</insert>

</sqlMap>

 

UserDAO.java:

public class UserDAO extends SqlMapClientDaoSupport implements

IUserDAO {

public void insertUser(User user) {

getSqlMapClientTemplate().update("insertUser", user);

}

}

 

SqlMapClientDaoSupport(如果使用ibatis 1.x版本,对应支持类是

SqlMapDaoSupport)是Spring中面向ibatis的辅助类,它负责调度DataSource、

SqlMapClientTemplate(对应ibatis 1.x版本是SqlMapTemplate)完成ibatis操作,

而DAO则通过对此类进行扩展获得上述功能。上面配置文件中针对UserDAO的属性设

置部分,其中的属性也是继承自于这个基类。

SqlMapClientTemplate对传统SqlMapClient调用模式进行了封装,简化了上层访问

代码。

 

 

 

分享到:
评论

相关推荐

    Spring与iBATIS的集成

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

    webwork+spring+ibatis+sitemesh开发的应用系统

    采用webwork+spring+ibatis+sitemesh组合开发的框架示例系统

    SSI(Struts2,Spring,Ibatis)集成实现用户增删改查

    加快了开发速度,但是也有一些不足之处,比如由于三种框架的配置文件较多,也给我们带来了一些不便,特别是对于较小的应用来说更是如此,本文主要是对Strtus2、Spring、iBatis三个开源框架进行一个集成

    Spring+Struts+Ibatis 整合文档

    一个完整的Spring+ Struts+Ibatis 应用框架整合的小例子,项目中使用的数据库为MySQL,表结构在文档贴出,可以自己照着例子做一下。

    struts2+spring+ibatis+extjs

    利用当今流行的extjs框架,加下,struts2+spring+ibatis+extjs做的一个小型应用系统

    spring jar 包详解

    (1) spring-core.jar 这个jar文件包含Spring框架基本的核心工具类,Spring其它组件要都要使用到这个包里的类,是其它组件的基本核心,当然你也可以在自己的应用系统中使用这些工具类。 (2) spring-beans.jar 这个...

    Java高手真经.应用框架卷:Java Web核心框架:Struts 1+Struts 2+Spring+Hibernate+iBATIS

    Struts 1+Struts 2+Spring+Hibernate+iBATIS知识

    apache开源项目源码ibatis-3-core-src-3.0.0.227(ibatis框架java源程序)

    apache开源项目源码ibatis-3-core-src-3.0.0.227 ...各种ibatis框架应用源码,你会从中得到意想不到的效果! apache开源组织开发的开源项目源码,其优良的代码风格和高质量的源码是学习者难得的学习资料!

    spring 黑马教程

    4、支持多种持久化技术:Spring框架支持多种持久化技术,如Hibernate、iBATIS等,这使得开发者可以根据需要选择合适的持久化技术。 Spring框架的缺点: 1、学习曲线陡峭:Spring框架的学习曲线较陡峭,需要开发者...

    spring+struts2+ibatis SSI框架搭建

    SSI框架搭建的基本代码,适合于初学者以及用此框架进行java开发的人,直接可以应用

    基于 Spring和 Memcached的 iBATIS二级 缓存的研究与应用 (2009年)

    高性能是J2EE应用程序追求的目标,在特定硬件基础上,数据...在对 iBATIS的缓存支持情况进行了介绍和研究的基础上,并结合Spring框架和iBATIS,使用Memcached对iBATIS二级缓存进行了新的实现,使应用的性能得到了很大的提升.

    spring4.3.2参考文档(英文)

    Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。 Spring Web 模块:Web 上...

    Java高手真经_应用框架卷_Java_Web核心框架.part1.rar

     持久层框架ibatis:讲解ibatis入门与核心技术,分别实现mysql、oracle、sql server数据库的信息系统开发。  表现层框架struts 1:讲解struts 1的入门配置、核心组件、标签库、国际化、数据校验、sitemesh集成、...

    各技术框架架构图.doc

    Spring 框架是一种开源框架,主要用于解决企业应用程序开发的复杂性。其核心优势在于分层架构,允许开发者选择使用哪些组件,同时提供了集成的框架 для J2EE 应用程序开发。Spring 框架的功能可以在任何 J2EE ...

    web框架搭建.pdf

    1.2 Spring框架 Spring框架的官方网站地址为http://www.springframework.org/,下载页面为http://www.springsource.org/download。我们需要下载的是Spring Framework的某个版本,而不是其他的框架。 1.3 iBATIS...

    Java高手真经 应用框架卷 源码

    持久层框架iBATIS:讲解iBATIS入门与核心技术,分别实现MySQL、Oracle、SQL Server数据库的信息系统开发。表现层框架Struts 1:讲解Struts 1的入门配置、核心组件、标签库、国际化、数据校验、Sitemesh集成、数据库...

    spring4.3.9相关jar包

    spring-web.jar(必须) :这个jar 文件包含Web 应用开发时,用到Spring 框架时所需的核心类,包括自动载入Web Application Context 特性的类、Struts 与JSF 集成类、文件上传的支持类、Filter 类和大量工具辅助类。...

    Java高手真经_应用框架卷_Java_Web核心框架.part3.rar

     持久层框架ibatis:讲解ibatis入门与核心技术,分别实现mysql、oracle、sql server数据库的信息系统开发。  表现层框架struts 1:讲解struts 1的入门配置、核心组件、标签库、国际化、数据校验、sitemesh集成、...

    Java高手真经_应用框架卷_Java_Web核心框架.part2.rar

     持久层框架ibatis:讲解ibatis入门与核心技术,分别实现mysql、oracle、sql server数据库的信息系统开发。  表现层框架struts 1:讲解struts 1的入门配置、核心组件、标签库、国际化、数据校验、sitemesh集成、...

    最新最全的spring开发包

     这个jar文件包含Web应用开发时,用到Spring框架时所需的核心类,包括自动载入WebApplicationContext特性的类、Struts与JSF集成类、文件上传的支持类、Filter类和大量工具辅助类。 (12) spring-webmvc.jar 这个...

Global site tag (gtag.js) - Google Analytics