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.TransactionProxyFactoryBean">
<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.SqlMapClientFactoryBean类似SessionFactory之与Hibernate,这里我们引入了针对ibatis
SqlMap的SqlMapClientFactoryBean配置。SqlMapClient对于ibatis的意义类似于session与Hibernate以及Connection与JDBC,这里的sqlMapClient节点实际上配置了一个sqlMapClient的创建工厂类。configLocation属性配置了ibatis映射文件的名称。
2. transactionManager节点
这里我们的transactionManager配置与之前JDBC示例中相同,都采用了
DataSourceTransactionManager,这与Hibernate有些差异。
3. userDAO节点
对应的,UserDAO需要配置两个属性,sqlMapClient和DataSource,
sqlMapClient将从指定的DataSource中获取数据库连接。
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整合时如何保留并使用iBatis事务管理机制,以及如何在应用程序中实现手动控制事务的方法。 ### Spring与iBatis整合 Spring框架是一个全面的企业级应用开发框架,...
最近想在最新的Spring5.0中集成ibatis(不是mybatis),发现已经不在支持SqlmapClientTemplate和SqlmapClientFactoryBean,于是搞了这个工具jar来进行支持如下配置 <bean id="sqlMapClient" class="org.spring...
定义DAO接口以及实现类,在实现类中注入`SqlMapClient`,并通过它执行具体的SQL操作。 4. **测试整合效果**: 通过编写单元测试或集成测试来验证ibatis与Spring的整合是否成功。 #### 五、总结 通过以上步骤,...
2. 配置Spring:在applicationContext.xml中定义Bean,包括Action、Service以及iBatis的相关配置,如DataSource、SqlMapClient等。 3. 配置iBatis:在SqlMapConfig.xml中配置数据库连接信息,以及SQL映射文件的位置...
给定的XML配置文件展示了如何在Spring中配置ibatis数据源以及ibatis事务管理器。首先,注释掉的`BasicDataSource`部分是用来配置数据源的,这里没有启用,而是选择了使用JNDI数据源。实际生产环境中,通常会使用...
iBatis 是一款轻量级的Java持久层框架,它主要负责将数据库操作与业务逻辑解耦,使得开发者可以更加专注于SQL和业务代码的编写。本文档将详细讲解iBatis的核心概念、快速入门以及高级特性。 ### iBatis 快速启动 #...
与Eclipse中的Abator不同,iBatis Plugin不仅限于代码生成,而是全方位地优化了iBatis的开发体验。 **配置iBatis Plugin** 首先,你需要从IntelliJ IDEA的插件市场下载iBatis Plugin。安装完成后,配置数据源...
在Spring的配置文件(如`applicationContext.xml`)中,我们需要定义数据源、SQLMapClient以及SqlMapClientTemplate。数据源通常使用DataSource bean来创建,例如使用Apache的DBCP或C3P0。SQLMapClient是iBATIS的...
SQLMap是iBATIS中的一个关键组件,它负责解析XML配置文件,其中包含了数据库查询、更新和其他操作的SQL语句以及参数和结果的映射信息。SQLMap能够根据这些信息生成并执行SQL语句,同时处理返回的结果,将其转换成...
1. **引入依赖**:在项目中添加Spring和iBATIS的JAR包,确保包含Spring的core、context、aop、transaction以及iBATIS的sqlmapclient、database、common等核心库。 2. **配置数据源**:在Spring的配置文件中定义数据...
在iBATIS中,数据源(DataSource)负责连接数据库,而事务管理器(TransactionManager)则控制事务的开始、提交和回滚。通过SqlMapConfig.xml配置文件,我们可以灵活地设置数据源类型,如单数据源或多数据源,并定义...
在整合过程中,我们需要将Spring、iBatis以及MySQL数据库驱动等相关的jar包添加到项目中。具体包括: - spring-framework-1.2.7:提供Spring的核心功能。 - iBATIS_DBL-2.1.7.597:iBatis的核心库。 - mysql-...
其次,`sql-map-config-2.dtd`则是Ibatis的SQL映射配置文件的DTD,它定义了整个Ibatis系统的配置,如数据源、事务管理器、环境设置、SqlMapClient实例等。`<transactionManager>`元素定义了事务管理方式,如JDBC或...
在后续的例子中,我们将学习如何使用iBatis添加新数据到数据库以及删除现有数据。iBatis提供了一个强大的API,允许开发者根据业务需求灵活地构建和执行SQL语句,同时保持代码的整洁和可维护性。通过熟练掌握iBatis,...
在本文档中,我们将深入探讨Spring如何与iBatis协同工作,包括JavaBean实体、映射文件的配置,以及DAO实现的连接。 1. **Spring对iBatis的支持** Spring为iBatis提供了全面的内建支持,这主要体现在`org.spring...
在Ibatis中,JavaBean是与数据库表对应的实体类。 #### Resources和DataSource - **Resources**:Ibatis提供了一套资源管理工具,用于处理类路径下的资源文件。 - **SimpleDataSource**:提供了一个简单的数据源...
在Java开发领域中,ibatis(现称为MyBatis)是一款优秀的持久层框架,它通过XML或注解的方式将接口方法与SQL语句绑定起来,实现对象关系映射(ORM)功能。ibatis的主要优势在于其强大的SQL查询能力和对结果集的灵活...