`
rayln
  • 浏览: 415222 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何把iBatis注入到Spring中

 
阅读更多
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");
  }
}
分享到:
评论

相关推荐

    springmvc+ibatis框架包,使用spring注入,事务等,包都齐全

    自己配置的springmvc+ibatis框架,自己找齐了包,不容易啊,所以上来跟大家分享一下,spring自动注入包,事务包,ibatis包,数据库连接包,都齐全的,仅局限于springmvc+ibatis,这些包不多,不少,刚够

    ibatis2.3.4+spring2.5的小例子二个。

    一个是纯ibatis的例子,还有一个是和spring2.5整合的例子。第二个例子主要代码测试在CopyOfUserDaoTest.java这个类里面,全部使用的是最新注解方式来注入和测试的。欢迎大家拍砖,如有不懂,请电邮:xnxqs@163.com ...

    Struts2.0+Springframework2.5+ibatis2.3完美整合用户登录及增删改查

    本演示示例主要使用目前最新,最流行技术Struts2.1 +Spring 2.5.1+ibatis2.3整合开发而成,这与我以前发布的版本中最大特色是整合了Spring2.5.1中的注解功能和半自动化工具ibatis技术,这是本示例的两大特色,简化了配置...

    spring jar 包详解

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

    Spring-Reference_zh_CN(Spring中文参考手册)

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...

    Spring开发指南

    Spring初探 准备工作 构建Spring基础代码 ... ibatis in Spring Aspect Oriented Programming AOP 概念 AOP in Spring Dynamic Proxy 与Spring AOP CGLib 与 Spring AOP AOP 应用 DAO Support Remoting

    mybatis-spring-1.2.2.jar

    这个类库也提供一个简单的方式来注入 MyBatis 数据映射器和 SqlSession 到业务层的 bean 中。 而且它也会处理事务, 翻译 MyBatis 的异常到 Spring 的 DataAccessException 异常(数据访问异常,译者注)中。最终,它并 ...

    struts2_spring_ibatis整合源代码

    利用Struts2+Spring+Ibatis来整合开发,使用过struts+spring+...而spring在项目中运用了依赖注入的方式,当然ibatis的持久层比hibernate更能控制SQL语句。感兴趣的学友门将SSI2源代码共享给大家,希望能够帮助到你们!

    Spring中文帮助文档

    6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...

    iBATIS实战

    3.4 将iBATIS添加到应用程序中 49 3.4.1 在独立应用程序中使用iBATIS 50 3.4.2 在Web应用程序中使用iBATIS 50 3.5 iBATIS和JDBC 51 3.5.1 释放JDBC资源 51 3.5.2 SQL注入 51 3.5.3 降低复杂度 52 3.6 配置iBATIS(续)...

    Spring in Action(第二版 中文高清版).part2

    16.5 Spring中带有DWR的支持Ajax的应用程序 16.5.1 直接Web远程控制 16.5.2 访问Spring管理的Bean DWR 16.6 小结 附录A 装配Spring A.1 下载Spring A.1.1 研究Spring发布 A.1.2 构建自己的类路径 A.2 把...

    Spring in Action(第二版 中文高清版).part1

    16.5 Spring中带有DWR的支持Ajax的应用程序 16.5.1 直接Web远程控制 16.5.2 访问Spring管理的Bean DWR 16.6 小结 附录A 装配Spring A.1 下载Spring A.1.1 研究Spring发布 A.1.2 构建自己的类路径 A.2 把...

    Spring基础与快速入门

    4 依赖注入:建立对象与对象之间依赖关系的实现,包括接口注入、构造注入、set注入,在Spring中只支持后两种 5 AOP:面向方面编程,我们可以把日志、安全、事务管理等服务(或功能)理解成一个“方面”,那么以前...

    Spring 2.0 开发参考手册

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. ...

    跟我学spring3(8-13)

    【第八章】 对ORM的支持 之 8.3 集成iBATIS ——跟我学spring3 【第八章】 对ORM的支持 之 8.4 集成JPA ——跟我学spring3 【第九章】 Spring的事务 之 9.1 数据库事务概述 ——跟我学spring3 【第九章】 Spring的...

    spring chm文档

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. ...

    Spring in Action(第2版)中文版

    16.5spring中带有dwr的支持ajax的应用程序 16.5.1直接web远程控制 16.5.2访问spring管理的beandwr 16.6小结 附录a装配spring a.1下载spring a.1.1研究spring发布 a.1.2构建自己的类路径 a.2把spring添加为一...

    Ibatis2.0注解示例.docx

    教您搭建一个通过注解注入spring2.5 +struts2.+ibatis2集成框架

    spring in action英文版

     3.3.1 在Spring中定义切入点  3.3.2 理解Advisor  3.3.3 使用Spring的静态切入点  3.3.4 使用动态切入点  3.3.5 切入点实施  3.4 创建引入  3.4.1 实现IntroductionInterceptor  3.4.2 创建...

Global site tag (gtag.js) - Google Analytics