第1步 获取mybatis-spring的jar
第2步 spring配置文件中配置sqlSessionFactortBean 创建sqlSessionFactory
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> </bean>
加入数据mapper的两种形式
public interface UserMapper { @Select("SELECT * FROM users WHERE id = #{userId}") User getUser(@Param("userId") String userId); }
<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>
实现方式
private UserMapper userMapper; public void setUserMapper(UserMapper userMapper) { this.userMapper = userMapper; } public User doSomeBusinessStuff(String userId) { return this.userMapper.getUser(userId); }
qlSessionFactory 有一个单独的必须属性,就是 JDBC 的 DataSource。这可以是任意 的 DataSource,其配置应该和其它 Spring 数据库连接是一样的。
一个通用的属性是 configLocation,它是用来指定 MyBatis 的 XML 配置文件路径的。 如果基本的 MyBatis 配置需要改变, 那么这就是一个需要它的地方。 通常这会是<settings> 或<typeAliases>的部分。
要注意这个配置文件不需要是一个完整的 MyBatis 配置。确切地说,任意环境,数据源 和 MyBatis 的事务管理器都会被忽略。SqlSessionFactoryBean 会创建它自己的,使用这些 值定制 MyBatis 的 Environment 时是需要的。
如果 MyBatis 映射器 XML 文件在和映射器类相同的路径下不存在,那么另外一个需要 配置文件的原因就是它了。使用这个配置,有两种选择。第一是手动在 MyBatis 的 XML 配 置文件中使用<mappers>部分来指定类路径。第二是使用工厂 bean 的 mapperLocations 属 性。
mapperLocations 属性使用一个资源位置的 list。 这个属性可以用来指定 MyBatis 的 XML 映射器文件的位置。 它的值可以包含 Ant 样式来加载一个目录中所有文件, 或者从基路径下 递归搜索所有路径。比如:
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="mapperLocations" value="classpath*:sample/config/mappers/**/*.xml" /> </bean>
事务处理
<bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="dataSource" /> </bean>
spring 容器
<tx:jta-transaction-manager />
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> <property name="transactionFactory"> <bean class="org.apache.ibatis.transaction.managed.ManagedTransactionFactory" /> </property> </bean>
编程事务处理
DefaultTransactionDefinition def = new DefaultTransactionDefinition(); def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED); TransactionStatus status = txManager.getTransaction(def); try { userMapper.insertUser(user); } catch (MyException ex) { txManager.rollback(status); throw ex; } txManager.commit(status);
相关推荐
以上就是Spring与MyBatis整合所需的关键知识点。在实际项目中,还需要根据具体需求进行适当的配置调整和优化,确保框架的高效协同工作。正确配置和理解这些概念对于Java开发者来说至关重要,因为它们构成了许多企业...
总的来说,Spring与MyBatis的整合利用了Spring的IoC和AOP能力,结合MyBatis的灵活SQL映射,构建出一个既易于维护又高效的Java Web应用。通过理解这些知识点,开发者可以更好地理解和实践这两种框架的整合。
下面我们将深入探讨Spring与MyBatis的整合过程以及相关知识点。 1. **Spring框架**:Spring的核心是IoC(Inversion of Control)和DI(Dependency Injection),通过容器管理对象及其依赖关系,降低了组件之间的...
在本案例中,我们主要讨论的是Spring与MyBatis的整合,这是一个关键步骤,因为Spring提供了强大的依赖注入和管理能力,而MyBatis则是一个轻量级的持久层框架,它简化了SQL操作。 **1. Spring框架** Spring是Java...
Spring与MyBatis的整合,主要涉及以下步骤: 1. **引入依赖**:首先,在项目中引入Spring和MyBatis的依赖库,通常通过Maven或Gradle来管理。 2. **配置Spring**:创建Spring的配置文件,例如`applicationContext....
Spring与Mybatis的整合,可以利用Spring的管理能力,将Mybatis的SqlSession、Mapper接口和事务管理统一起来,提高代码的可维护性和测试性。 1. Spring与Mybatis的整合步骤: - 配置Mybatis的SqlSessionFactoryBean...
3. **Spring与MyBatis的整合**:通过Spring的SqlSessionTemplate或MyBatis的SqlSessionFactoryBean,可以将MyBatis集成到Spring中,实现对数据库操作的管理。这样,我们可以在Spring的Service层直接调用Mapper接口,...
【Spring与Mybatis整合】是将Spring框架与Mybatis数据持久层框架集成的过程,以便更好地管理数据库操作。在Spring 3.1版本时,官方并未直接提供与Mybatis的集成支持,但社区开发了一个中间件使得整合变得可能。以下...
spring与mybatis三种整合方法 本文主要介绍Spring与Mybatis三种常用整合方法,需要的整合架包是mybatis-spring.jar,可通过链接
将Spring与Mybatis整合,可以充分利用两者的优点,构建出高效、灵活的Web应用。 1. **Spring整合Mybatis的基本步骤** - **引入依赖**: 在项目的pom.xml中添加Spring和Mybatis的相关依赖。 - **配置数据源**: ...
Spring是一个全面的企业级应用框架,提供了依赖注入、AOP(面向切面编程)、事务管理等功能,而MyBatis则是一个优秀的持久层框架,它简化了SQL操作,将SQL语句与Java代码分离,使得数据库访问更加灵活。本文将深入...
在IT行业中,Spring框架与MyBatis的整合是常见的企业级应用开发模式,尤其是在Java领域。本项目基于Spring 4.3和MyBatis 3.4进行整合,旨在构建一个SSM(Spring、SpringMVC、MyBatis)集成的多模块Web项目。这个项目...
- mybatis-spring.jar:Spring 与 MyBatis 集成的库,包含必要的适配器和工具类。 这些 jar 包是搭建 Spring 和 MyBatis 整合环境的基础,确保项目能够正常运行。在实际开发中,你还需要根据项目需求选择其他相关的...
- **Mapper接口与Mapper XML文件**:MyBatis通过Mapper接口与Mapper XML文件进行映射,Spring利用动态代理技术将接口方法与XML中的SQL语句关联起来。 - **事务管理**:Spring提供了PlatformTransactionManager接口...
Spring以其强大的依赖注入和面向切面编程能力,为开发者提供了便捷的容器服务,而MyBatis则是一个轻量级的持久层框架,简化了SQL操作与Java对象之间的映射。下面我们将深入探讨如何将Spring与MyBatis进行整合,并...
下面我们将详细探讨Spring与MyBatis的整合过程及其核心知识点。 首先,整合Spring和MyBatis的关键在于Spring的DataSource、SqlSessionFactoryBean和MyBatis的Mapper接口。DataSource是数据库连接的来源,...
`mybatis`提供了基本的SQL映射和执行功能,而`mybatis-spring`则是MyBatis与Spring框架之间的桥梁,使得MyBatis的SqlSessionFactory和Mapper接口可以无缝地集成到Spring应用中。 5. **数据库驱动**:根据所使用的...
下面我们将详细介绍如何将Spring与MyBatis-Plus进行集成,并探讨相关知识点。 首先,我们需要在项目中引入Spring和MyBatis-Plus的相关依赖。在Maven工程中,可以在pom.xml文件中添加以下依赖: ```xml <!-- ...
Spring是一个全面的Java应用框架,提供依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等特性,而MyBatis则是一个优秀的持久层框架,它简化了SQL操作,使数据库与Java代码更好地解耦。本教程通过"spring_...