application.xml配置:
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
</bean>
<context:property-placeholder location="jdbc.properties"/>
<bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="classpath:sqlmap-config.xml"/>
<property name="dataSource" ref="dataSource"/>
</bean>
<bean id="sqlMapTestDao" class="com.dao.SqlMapTestDao">
<property name="sqlMapClient" ref="sqlMapClient"></property>
</bean>
sqlmap-config.xml配置:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sqlMapConfig PUBLIC "-//iBATIS.com//DTD SQL Map Config 2.0//EN" "http://www.ibatis.com/dtd/sql-map-config-2.dtd">
<sqlMapConfig>
<settings useStatementNamespaces="true"/>
<sqlMap resource="com/entity/Test.xml"/>
</sqlMapConfig>
Test.xml配置:
<sqlMap namespace="Test">
<resultMap id="result" class="com.entity.Test">
<result property="test1" column="TEST1" columnIndex="1"/>
<result property="test2" column="TEST2" columnIndex="2"/>
</resultMap>
<select id="getTestByTest1" resultMap="result">
select TEST.TEST1, TEST.TEST2 from TEST where TEST.TEST1 = #value#
</select>
<insert id="insertTest">
insert into TEST (TEST1, TEST2) values (#test1#, #test2#)
</insert>
</sqlMap>
Test.java配置
public class Test implements java.io.Serializable {
private String test1;
private String test2;
// 忽略getter和setter方法
}
SqlMapTestDao.java配置
public class SqlMapTestDao extends SqlMapClientDaoSupport {
//方法一
public void getTestByTest1(String test1){
Test test = (Test)getSqlMapClientTemplate()
.queryForObject("getTestByTest1", test1);
System.out.println("test1:"+test.getTest1());
}
//方法二
public void insertAccount(Test test) throws DataAccessException {
getSqlMapClientTemplate().update("insertTest ", test);
}
//方法三
public void insertAccountTest(final Test test) throws DataAccessException {
getSqlMapClientTemplate().execute(new SqlMapClientCallback() {
public Object doInSqlMapClient(SqlMapExecutor executor) throws SQLException {
executor.startBatch();
executor.update("insertAccount", test);
executor.update("insertAddress", test.getTest2());
return executor.executeBatch();
}
});
}
//执行方法
public static void main(String[] args) {
BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
SqlMapTestDao dao = (SqlMapTestDao)factory.getBean("sqlMapTestDao");
dao.getTestByTest1("8");
}
}
分享到:
相关推荐
在Spring中,你可以通过`@Autowired`注解将Mapper接口注入到Service类中,这样就可以直接调用SQL语句了: ```java @Service public class UserService { @Autowired private UserMapper userMapper; public ...
在Spring配置文件中定义`SqlMapClient`的Bean,并注入相应的属性。这通常通过`SqlMapClientFactoryBean`来实现。 ```xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
在整合 iBATIS 时,Spring 会负责创建 SqlSessionFactory 和 SqlSession 的实例,并通过配置文件或注解来注入到需要的地方。 2. **SqlSessionFactory**:这是 iBATIS 提供的工厂类,用于创建 SqlSession 对象。...
在Spring中,我们可以创建一个接口,然后通过Spring的ProxyFactoryBean来创建代理对象,实现代理对象对iBatis的SqlSession方法调用。例如,定义一个ProductDao接口: ```java public interface ProductDao { List...
在Spring中,可以通过DataSourceRouter或AbstractRoutingDataSource实现动态数据源切换。这些组件可以根据预定义的规则(如事务上下文、请求参数等)选择不同的数据源,提高了系统的灵活性和可扩展性。 在压缩包的...
在`Spring`中,这些Mapper可以作为`@Repository`注解的bean进行管理,通过`@Autowired`注入到需要使用的地方。这样,我们就可以在业务逻辑中直接调用Mapper方法,执行相应的SQL。 4. **事务管理**:`Spring`的事务...
3. **配置Mapper**:Ibatis 的Mapper接口需要在Spring中注册为bean,以便通过@Autowired注解自动注入。这通常通过MapperScannerConfigurer完成,该配置会扫描指定包下所有继承自BaseMapper的接口。 4. **事务管理**...
1. 引入依赖:在项目中引入Struts2、iBATIS和Spring的相关库,可以通过Maven或Gradle等构建工具管理依赖。 2. 配置Spring:创建Spring配置文件,定义Bean以及它们之间的依赖关系。还可以配置数据源、事务管理器等。...
Spring 3.2 与 iBatis 的整合是Java企业级开发中常见的一种技术组合,它结合了Spring的依赖注入和事务管理能力以及iBatis的SQL映射框架的灵活性。这种整合允许开发者将业务逻辑与数据访问层解耦,提高了代码的可维护...
在Java Web开发中,Spring和iBatis是两个非常重要的框架。Spring是一个全面的后端开发框架,提供了依赖注入、AOP(面向切面编程)、事务管理等特性,而iBatis则是一个优秀的持久层框架,它将SQL语句与Java代码分离,...
在这个特定的案例中,我们关注的是"Ibatis Spring Struts"的整合。这三个框架分别是:Ibatis(一个轻量级的持久层框架),Spring(一个全面的企业级应用开发框架),以及Struts(一个用于构建MVC(Model-View-...
Struts2、Spring3和iBATIS是Java Web开发中常用的三大框架,它们各自负责不同的职责,协同工作可以构建出高效、松耦合的Web应用。在这个“struts2+spring3+ibatis项目整合案例”中,我们将深入探讨这三个框架如何...
Struts2、iBatis和Spring是Java Web开发中非常重要的三个框架,它们共同构建了一个高效、灵活的应用架构。这个实例结合了这三个框架,旨在帮助开发者理解如何将它们整合在一起,提升开发效率。 Struts2作为MVC...
Ibatis可以与Spring无缝集成,通过@Autowired注解注入SqlSessionFactory,并在Service层方法上添加@Transactional注解来开启事务。这样,一旦发生异常,Spring会自动回滚事务,保证数据一致性。 最后,关于Spring与...
Struts1、iBatis和Spring是Java Web开发中三个重要的框架,它们分别负责MVC模式中的表现层、数据访问层以及业务层的管理。这个"struts1+ibatis+Spring demo"是一个示例项目,展示了如何将这三个框架集成到一起,实现...
还需要在Struts2的Action类中注入Spring管理的bean,以便于调用业务服务。同时,需要在Spring配置中声明iBatis的数据源、SqlSessionFactory和Mapper扫描器,以便Spring能够自动管理数据库操作。 这个"SSI整合包文件...
Spring框架是Java应用开发中的核心组件,提供了依赖注入、面向切面编程以及众多其他企业级功能。 这篇博客可能讨论的是如何将这三个技术——XFire、iBatis和Spring——集成在一起,构建一个Web服务应用程序。在这样...
在Web开发中,Ibatis、Spring和Struts1是三个非常重要的组件,它们分别负责不同的职责。Ibatis是一个优秀的持久层框架,Spring是一个全面的后端应用框架,而Struts1则是一个经典的MVC(Model-View-Controller)架构...