`

mybatis与spring3.1整合

 
阅读更多

因spring3发布时mybatis还没有出正式版本,所以spring没有整合最新的mybatis.不过社区倒是开发了一个中间件。

 

需要的jar包

mybatis-3.0.6.jar

mybatis-spring-1.0.2.jar

 

要点:

1.在spring中配置mybatis工厂类

2.在dao层使用spring注入的的工具bean对数据进行操作

整合时,可以有四种方式来使用mybatis进行数据处理。

 

spring 中必须的配置。

spring的配置文件中加入以下内容

 

<!-- MyBatis配置 -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="c3p0DataSource" />
		<property name="configLocation" value="/WEB-INF/config/db/MyBatisConfiguration.xml" />
		<property name="mapperLocations" value="/WEB-INF/config/db/*Mapper.xml" />
		<property name="typeAliasesPackage" value="${mybatis.alias.basepackage}" />
	</bean>

 

1.SqlSessionFactoryBean (必需)

   就是中间件所需的处理类

 

2.dataSource  (必需)

   spring中数据源引用

 

3.configLocation  (可选)

   Mybatis自身的配置文件,一般用来声明别名

 

4.mapperLocation  (可选)

   mybatis的映射文件

 

5.typeAliasesPackage (可选)

   要映射类的包路径,如果使用了这种方式,则configLocation中不必再进行声明

 

 

 

使用mybatis进行数据处理的四种方式(SqlSessionTemplate/SqlSessionDaoSupport/MapperFactoryBean/MapperScannerConfigurer)

不同方式的特点

  1. SqlSessionTemplate  这个需要写配置文件,在实现类中注入sqlsession,再使用sqlsession,是细颗粒控制
  2. SqlSessionDaoSupport   这个只需要在实现类中继承特殊类就可以使用sqlsession
  3. MapperFactoryBean  这个要写配置文件,把对应的所有接口在配置文件中引用即可,无需写实现类
  4. MapperScannerConfigurer  这个要写配置文件,只要给出接口所在的包即可,会自动把包中的接口引入,无需写实现类
  • SqlSessionTemplate
  1. 配置文件加入新配
    <bean id="sqlSession" class="org.mybatis.spring.SqlSessionTemplate">
      <constructor-arg index="0" ref="sqlSessionFactory" />
      <constructor-arg index="1" value="BATCH" /><!--- 如果想要进行批量操作可加入这个属性 ->
    </bean>
     
  2. 注入sqlsession()
    @Reasource //使用spring3的注解注入
    private SqlSession sqlSession;
     
  3. 使用sqlsession来进行操作
    public User getUser(String userId) {
        return (User) sqlSession.selectOne("org.mybatis.spring.sample.mapper.UserMapper.getUser", userId);
      }
  • SqlSessionDaoSupport(sqlSessionFactory会被spring自动装配,不需要手动注入)
  1. 继承SqlSessionDaoSupport类
    public class UserDaoImpl extends SqlSessionDaoSupport implements UserDao {
    
    }
     
  2. 使用getSqlSession()方法取sqlSession来进行数据处理
    public User getUser(String userId) {
        return (User) getSqlSession().selectOne("org.mybatis.spring.sample.mapper.UserMapper.getUser", userId);
      }
     
  • MapperFactoryBean
  1. 写配置文件,引入每个DAO接口
    <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>
     
  2. 在业务层可直接注入dao的接口进行操作
  • MapperScannerConfigurer
  1. 写配置文件,配置包名将自动引入包中的所有接口
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
      <property name="basePackage" value="org.mybatis.spring.sample.mapper" />
    </bean>
     
  2. 在业务层可直接注入DAO接口操作,注入时使用的是接口名,其首字母小写
  3. 注意:如果有别的实现类,其提供的名称如果是接口名,且首字母小写,则会在启动时出现冲突错误
分享到:
评论
4 楼 di1984HIT 2014-10-22  
写的很好啊。
3 楼 AKka 2013-11-13  
继承SqlSessionDaoSupport 方式不需手动注入是指不用在子类中声明sqlSessionTemplate的setter/getter方法,但在xml配置文件中仍需给子类增加一个<property name="sqlSessionTemplate" ref="sqlSessionTemplate"/>。
2 楼 零四号-文鹏 2013-09-03  
<constructor-arg index="1" value="BATCH" /><!--- 如果想要进行批量操作可加入这个属性 ->  
1 楼 jnan77 2012-12-29  

    [*]
[img][/img][url][/url][flash=200,200][/flash]
引用
[/u] [b][/b][i][/i][u]

相关推荐

    MyBatis3.06与Spring3.1整合例子

    MyBatis3.06与Spring3.1的整合是一个常见的技术实践,它结合了MyBatis的强大SQL映射能力和Spring的依赖注入及事务管理功能,使得应用的开发更为便捷和高效。在这个整合例子中,我们将探讨如何配置事务管理以及Spring...

    springMVC3.0 + MyBatis3.1 整合

    springMVC3.0 + MyBatis3.1 花了2天整合成功的DEMO Spring 用的是基于注解的 MyBatis 用的是基于XML的 带表结构 有增删改查的小例子(含事务) 个人认为这套小框架有有兴趣的人 完全可以自己修改修改, 作为自己以后...

    《Spring3.1 和 MyBatis 整合笔记 》源代码(第二版)

    《Spring3.1 和 MyBatis 整合笔记》是一本深入探讨如何将Spring框架与MyBatis数据持久层框架整合的技术书籍。该资源提供了第二版的源代码,旨在帮助开发者更好地理解和实践这两种流行技术的集成。源代码的更新表明...

    基于struts2.2.6+Mybatis3.2.0+spring3.1的整合项目

    **基于Struts2.2.6+Mybatis3.2.0+Spring3.1的整合项目** 这个项目是一个典型的Java Web应用框架整合实例,它将三个流行的技术——Struts2、Mybatis和Spring——集成在一起,以实现高效、灵活的后端开发。下面将分别...

    Spring3.1与MyBatis3.06整合需要的jar包

    在Spring3.1与MyBatis3.06的整合过程中,重要的是理解每个组件的作用以及它们如何协同工作。这样,你可以根据项目的具体需求,灵活地调整配置和代码,以实现最佳的性能和可维护性。通过这种方式,开发者能够充分利用...

    mybatis与spring三种整合方式与需要的jar包列表

    总的来说,MyBatis与Spring的整合提供了多样化的选择,开发者可以根据项目需求选择最适合的集成方式。每种方式都有其优势,例如仅使用MyBatis时,配置相对简单,而结合Spring后,事务管理、依赖注入等特性可以进一步...

    Struts2+Spring3.1+MyBatis3.06+EasyUI整合

    Struts2、Spring3.1、MyBatis3.06和EasyUI是四个在Java Web开发中广泛应用的框架和技术。它们的整合旨在提供一个高效、灵活且易于维护的后端架构,同时利用EasyUI来增强前端用户体验。下面将详细阐述这四个组件的...

    Struts2_Spring3.1_MyBatis3.06整合需要用到的jar包.rar

    Struts2、Spring3.1和MyBatis3.06是Java开发中常见的三大框架,它们各自在不同的层面上提供了强大的功能,并且可以互相整合,以实现更高效的企业级应用开发。本压缩包提供了整合这三大框架所需的核心库文件,下面将...

    《Spring3.1 和 MyBatis 整合笔记 》源代码

    通过以上步骤,Spring3.1和MyBatis完成了基本的整合。这种整合方式使我们能够在保持灵活性和控制力的同时,享受Spring提供的高级服务,如事务管理和依赖注入。在实际开发中,还可以进一步优化,例如使用Spring的`@...

    spring3.2.2+mybatis3.1-lib

    以上就是"spring3.2.2+mybatis3.1-lib"整合的相关知识点,这个压缩包提供的jar包包含了完成上述整合所需的库文件,方便开发者快速搭建和使用Spring与Mybatis整合的环境。在实际项目中,理解并熟练掌握这些知识点,将...

    springMVC+Spring3.1+Ibatis整合CRUD

    整合SpringMVC、Spring和iBatis进行CRUD操作,通常需要以下步骤: 1. **配置SpringMVC**:创建`web.xml`配置文件,设置DispatcherServlet,并配置相应的SpringMVC配置文件。 2. **配置Spring**:在Spring配置文件...

    Spring与Mybatis三种常用整合方法

    ### Spring与Mybatis三种常用整合方法详解 #### 第一种整合方法:使用MapperFactoryBean **1.1 Spring配置文件** 为了使Spring与Mybatis能够顺利整合,首先需要在Spring配置文件中进行必要的设置。以下是一个典型...

    struts2.2+spring3.1+Mybatis3.1(SSI框架)开发整个jar包

    基于struts2.2+spring3.1+Mybatis3.1(SSI框架)框架开发下的JAR包整合!

    整合mybatis&spring;

    ### 整合 MyBatis 与 Spring:详细解析 #### 一、引言 随着企业级应用的发展,数据访问层的高效性和可维护性变得尤为重要。MyBatis 和 Spring 是两个广泛使用的开源框架,分别专注于数据访问层和企业级应用程序的...

    struts2.3+spring3.2+mybatis3.1整合注释行事务处理(含jar包)

    Struts2、Spring和MyBatis是Java Web开发中非常重要的三个框架,它们的整合能够构建出高效、灵活的企业级应用程序。在这个项目中,我们看到的是一个基于Struts2.3、Spring3.2和MyBatis3.1的集成应用,其中使用了注释...

    mybatis-spring指南中文版

    MyBatis-Spring的整合帮助开发者轻松地将MyBatis与Spring集成在一起。Spring将负责加载和创建必需的MyBatis类,控制事务,翻译表达式,并且可以将映射器(Mapper)注入到Service Bean中。 ##### 2.2 安装 为了使用...

    SpringMVC3.1 + Mybatis3.1实例

    5. **事务管理**:Mybatis与Spring整合后,可以利用Spring的事务管理,实现声明式事务。 **整合SpringMVC与Mybatis** 1. **配置Mybatis-Spring整合**:通过SqlSessionFactoryBean和MapperScannerConfigurer配置...

    struct2.3+spring3.1+mybits3.1 核心Jar包和配置文件

    "struct2.3+spring3.1+mybits3.1 核心Jar包和配置文件"的组合正是这样一个经典的应用架构,它将Struts2、Spring3.1和MyBatis3.1这三个流行框架整合在一起,为开发者提供了强大的MVC(Model-View-Controller)架构...

    spring4.3 mybatis3.4 整合

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

Global site tag (gtag.js) - Google Analytics