`
zhouzba
  • 浏览: 6048 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

spring 与mybtis

 
阅读更多

     第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整合所有jar包

    以上就是Spring与MyBatis整合所需的关键知识点。在实际项目中,还需要根据具体需求进行适当的配置调整和优化,确保框架的高效协同工作。正确配置和理解这些概念对于Java开发者来说至关重要,因为它们构成了许多企业...

    spring与mybatis整合所用的jar包

    总的来说,Spring与MyBatis的整合利用了Spring的IoC和AOP能力,结合MyBatis的灵活SQL映射,构建出一个既易于维护又高效的Java Web应用。通过理解这些知识点,开发者可以更好地理解和实践这两种框架的整合。

    Spring与MyBatis整合源码

    下面我们将深入探讨Spring与MyBatis的整合过程以及相关知识点。 1. **Spring框架**:Spring的核心是IoC(Inversion of Control)和DI(Dependency Injection),通过容器管理对象及其依赖关系,降低了组件之间的...

    SSM中spring与mybatis整合

    在本案例中,我们主要讨论的是Spring与MyBatis的整合,这是一个关键步骤,因为Spring提供了强大的依赖注入和管理能力,而MyBatis则是一个轻量级的持久层框架,它简化了SQL操作。 **1. Spring框架** Spring是Java...

    自己写的一个spring与MyBatis整合的例子

    Spring与MyBatis的整合,主要涉及以下步骤: 1. **引入依赖**:首先,在项目中引入Spring和MyBatis的依赖库,通常通过Maven或Gradle来管理。 2. **配置Spring**:创建Spring的配置文件,例如`applicationContext....

    Spring与Mybatis整合&&aop整合pageHelper分页插件

    Spring与Mybatis的整合,可以利用Spring的管理能力,将Mybatis的SqlSession、Mapper接口和事务管理统一起来,提高代码的可维护性和测试性。 1. Spring与Mybatis的整合步骤: - 配置Mybatis的SqlSessionFactoryBean...

    Spring与MyBatis案例

    3. **Spring与MyBatis的整合**:通过Spring的SqlSessionTemplate或MyBatis的SqlSessionFactoryBean,可以将MyBatis集成到Spring中,实现对数据库操作的管理。这样,我们可以在Spring的Service层直接调用Mapper接口,...

    Spring与Mybatis整合

    【Spring与Mybatis整合】是将Spring框架与Mybatis数据持久层框架集成的过程,以便更好地管理数据库操作。在Spring 3.1版本时,官方并未直接提供与Mybatis的集成支持,但社区开发了一个中间件使得整合变得可能。以下...

    spring与mybatis三种整合方法

    spring与mybatis三种整合方法 本文主要介绍Spring与Mybatis三种常用整合方法,需要的整合架包是mybatis-spring.jar,可通过链接

    Spring整合Mybatis与SpringBoot整合Mybatis原理分析

    将Spring与Mybatis整合,可以充分利用两者的优点,构建出高效、灵活的Web应用。 1. **Spring整合Mybatis的基本步骤** - **引入依赖**: 在项目的pom.xml中添加Spring和Mybatis的相关依赖。 - **配置数据源**: ...

    spring整合mybatis的jar_spring+mybatis_

    Spring是一个全面的企业级应用框架,提供了依赖注入、AOP(面向切面编程)、事务管理等功能,而MyBatis则是一个优秀的持久层框架,它简化了SQL操作,将SQL语句与Java代码分离,使得数据库访问更加灵活。本文将深入...

    spring4.3 mybatis3.4 整合

    在IT行业中,Spring框架与MyBatis的整合是常见的企业级应用开发模式,尤其是在Java领域。本项目基于Spring 4.3和MyBatis 3.4进行整合,旨在构建一个SSM(Spring、SpringMVC、MyBatis)集成的多模块Web项目。这个项目...

    spring与mybatis所需jar包

    - mybatis-spring.jar:Spring 与 MyBatis 集成的库,包含必要的适配器和工具类。 这些 jar 包是搭建 Spring 和 MyBatis 整合环境的基础,确保项目能够正常运行。在实际开发中,你还需要根据项目需求选择其他相关的...

    spring_mybatis_spring-mybatis_

    - **Mapper接口与Mapper XML文件**:MyBatis通过Mapper接口与Mapper XML文件进行映射,Spring利用动态代理技术将接口方法与XML中的SQL语句关联起来。 - **事务管理**:Spring提供了PlatformTransactionManager接口...

    spring和mybatis整合小案例

    Spring以其强大的依赖注入和面向切面编程能力,为开发者提供了便捷的容器服务,而MyBatis则是一个轻量级的持久层框架,简化了SQL操作与Java对象之间的映射。下面我们将深入探讨如何将Spring与MyBatis进行整合,并...

    Spring与MyBatis整合

    下面我们将详细探讨Spring与MyBatis的整合过程及其核心知识点。 首先,整合Spring和MyBatis的关键在于Spring的DataSource、SqlSessionFactoryBean和MyBatis的Mapper接口。DataSource是数据库连接的来源,...

    Spring集成Mybatis所需jar包

    `mybatis`提供了基本的SQL映射和执行功能,而`mybatis-spring`则是MyBatis与Spring框架之间的桥梁,使得MyBatis的SqlSessionFactory和Mapper接口可以无缝地集成到Spring应用中。 5. **数据库驱动**:根据所使用的...

    spring+mybatis-plus集成

    下面我们将详细介绍如何将Spring与MyBatis-Plus进行集成,并探讨相关知识点。 首先,我们需要在项目中引入Spring和MyBatis-Plus的相关依赖。在Maven工程中,可以在pom.xml文件中添加以下依赖: ```xml &lt;!-- ...

    spring_mybatis.rar

    Spring是一个全面的Java应用框架,提供依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等特性,而MyBatis则是一个优秀的持久层框架,它简化了SQL操作,使数据库与Java代码更好地解耦。本教程通过"spring_...

Global site tag (gtag.js) - Google Analytics