最近项目中用到Spring整合MyBatis,这里总结一下.
相关参考mybatis-spring-1.0.0-reference-simplified-chinese.pdf(已上传)
说下重点,由于Spring3迟迟没有添加对MyBatis的支持,所以这个是由MyBatis开发的.相关可以参考之前Spring 对iBatis的相关.
1 SqlSessionFactoryBean 是中心,所有操作以它开始.
<bean id="userMapper" class="org.mybatis.spring.mapper.MapperFactoryBean">
<property name="mapperInterface" value="org.mybatis.spring.sample.mapper.UserMapper" />
<property name="sqlSessionFactory" ref="sqlSessionFactory" />
</bean>
可知实际上程序中使用的 userMapper是由SqlSessionFactoryBean代理的.所以这里可以放心使用,无需担心事务的相关,这里Spring 都做好了.你不能在Spring管理的SqlSession上调用SqlSession.commit(),SqlSession.rollback()或SqlSession.close()方法。如果这样做了,就会抛出UnsupportedOperationException异常。
2 事务管理,之前已经分析了,所有事务无法直接通过编程方式处理"无论连接是否设置为自动提交,SqlSession数据方法的执行或在Spring事务之外任意调用映射器方法都将会自动被提交。如果你想编程式地控制事务,请参考Spring手册的10.6章节。这段代码展示了如何手动使用在10.6.2章节描述的PlatformTransactionManager来处理事务。"
这里PlatformTransactionManager是Spring 里的接口,配制Spring AOP时可以用org.springframework.jdbc.datasource.DataSourceTransactionManager来管理相关事务.配合事务编程.
3 Spring是轻量级框架,对 MyBatis的影响不是很大,其它操作同MyBaits操作没太大区别.
关于MyBatis的使用MyBatis 3 User Guide Simplified Chinese.pdf 是最好的参考资料.
疑难问题集:
1 insert如何获取自动增长列.
useGeneratedKeys
(仅对insert有用)这会告诉MyBatis使用JDBC的getGeneratedKeys方法来取出由数据(比如:像MySQL和SQL Server这样的数据库管理系统的自动递增字段)内部生成的主键。默认值:false。
insert时通过设置keyProperty可以在指定字段获取自增ID
分享到:
相关推荐
标题 "mybatis、ibatis、spring各种整合方式" 涉及的是在Java开发中将MyBatis、iBatis与Spring框架集成的各种方法。MyBatis和iBatis(后更名为MyBatis)是两个流行的持久层框架,而Spring是一个全面的企业级应用框架...
在与Spring整合时,MyBatis的SqlSessionFactory可以通过Spring的Bean配置管理,实现事务控制和依赖注入。 Spring框架作为全能型的IoC(Inversion of Control)/DI(Dependency Injection)容器,负责管理和装配应用...
在IT行业中,MyBatis和Spring的整合是一个常见的任务,特别是在构建企业级应用时。这两个框架的结合可以提供强大的持久层支持和灵活的依赖注入,从而简化开发过程。本示例"mybatis3_spring3整合"正是针对这一主题,...
### ibatis与Spring框架整合详解 #### 一、ibatis简介 ibatis是一个开源的、基于Java的持久层框架,它提供了SQL映射的方式来进行数据库访问。与Hibernate等其他ORM框架相比,ibatis更加轻量级,对于那些只需要简单...
《2011最新ibatis+Mybatis+Spring整合文档全集以及案例》是一份珍贵的资源,包含了关于这三个著名Java技术的详细信息和实践案例。这篇文章将深入探讨ibatis、Mybatis和Spring框架的整合,以及它们在实际开发中的应用...
MyBatis与Spring框架的整合可以进一步提高应用的灵活性和可管理性。Spring作为一款全功能的框架,提供了依赖注入(DI)和面向切面编程(AOP)等特性,而MyBatis则专注于数据库操作。当两者结合时,我们可以利用...
《MyBatis-Spring整合详解及1.0.2版本剖析》 MyBatis-Spring是MyBatis和Spring框架的集成库,旨在简化在Spring应用中使用MyBatis的过程,实现两者的无缝连接。本篇文章将深入探讨MyBatis-Spring的核心功能,以及...
- 尽管Spring 3.0支持iBatis 2,但在MyBatis 3正式发布之前,Spring 3.0的开发周期已经结束。因此,Spring开发团队未将对非正式发布的MyBatis 3的支持纳入其官方版本中。为了解决这一问题,MyBatis社区决定启动一个...
### Spring与iBatis整合详解 #### 一、前言 在Java企业级应用开发中,Spring框架以其强大的依赖注入(DI)和面向切面编程(AOP)能力深受开发者喜爱,而iBatis(现更名为MyBatis)作为一款优秀的持久层框架,通过...
1. 添加依赖:在`spring ibatis整合所需jar包`中,通常包含以下关键jar文件: - spring核心库:如spring-context、spring-beans、spring-aop等,用于Spring框架的基本功能。 - spring-jdbc和spring-tx:支持Spring...
- MyBatis-Spring的开发起源于Spring 3.0只支持旧版本的iBatis框架(即MyBatis 2.x),而MyBatis 3.x并未得到支持。因此,MyBatis社区决定自行启动该项目以支持MyBatis 3.x与Spring的整合。 - 由于Spring 3.0在...
7. **测试**:在Spring与iBatis整合后,可以使用Spring的`@Transactional`注解进行单元测试,确保每个方法都在独立的事务中执行,便于模拟各种数据状态并进行断言。 以上就是关于"Spring 3.2与iBatis整合"及"在...
由于Spring 3.0仅仅支持iBatis2版本,而MyBatis社区希望将MyBatis3的支持添加到Spring3.0中,但由于Spring3.0的开发结束在MyBatis3.0官方发布之前,Spring官方无法发布基于非发布版的MyBatis整合支持。因此,MyBatis...
在整合 Spring 和 iBATIS 进行项目开发时,主要涉及以下几个关键知识点: 1. **依赖注入 (Dependency Injection, DI)**:Spring 的核心特性之一,通过 DI 可以使代码更松耦合,易于测试和维护。在整合 iBATIS 时,...
4. 集成iBATIS:在Spring配置文件中配置SqlSessionFactory,指定MyBatis的配置文件和数据源。在Mapper接口中定义数据库操作方法,并在XML文件中编写对应的SQL语句。 5. 测试与运行:完成上述配置后,可以创建测试...
在Struts2与iBATIS的整合中,Spring作为容器管理所有组件,包括Action和DAO。Spring的ApplicationContext配置文件(如applicationContext.xml)用于定义bean的实例化和装配。 3. **iBATIS(MyBatis)**:iBATIS是...
MyBatis-Spring 会帮助你将 MyBatis 代码无缝地整合到 Spring 中。 使用这个类库中的类, Spring 将会加载必要的 MyBatis 工厂类和 session 类。 这个类库也提供一个简单的方式来注入 MyBatis 数据映射器和 ...
### MyBatis与Spring整合详解 #### 一、前言 在现代软件开发中,尤其在Java企业级应用领域,Spring框架和MyBatis框架是非常重要的组成部分。Spring框架以其强大的控制反转(IoC)和面向切面编程(AOP)功能,极大...
"Ibatis 与 Spring3 整合"这一主题,涉及到的是两个知名Java框架——Ibatis(一个轻量级的持久层框架)和Spring(一个全面的企业级应用框架)的协同工作。下面我们将深入探讨这一整合过程中的关键知识点。 Ibatis ...
MyBatis原本是作为iBatis的一个升级版出现,而在MyBatis3.0官方发布前,Spring3.0的开发已经结束,因此Spring3.0仅支持到iBatis2。MyBatis社区为了整合MyBatis3到Spring3.0,启动了MyBatis-Spring项目,将其作为...