`
xueyue521q
  • 浏览: 6117 次
社区版块
存档分类
最新评论

spring与mybatis整合方法

 
阅读更多

本文主要介绍Spring与Mybatis三种常用整合方法,需要的整合架包是mybatis-spring.jar,可通过链接
http://code.google.com/p/mybatis/下载到。

  1、采用数据映射器(MapperFactoryBean)的方式,不用写mybatis映射文件,采用注解方式提供相应的sql语句和输入参数。
  (1)Spring配置文件:

[java] view plain copy
    1.        <!-- 引入jdbc配置文件 --> 
    2.        <context:property-placeholder location="jdbc.properties" />  
    3.     
    4.         <!--创建jdbc数据源 --> 
    5.         <bean id="dataSource"   class = "org.apache.commons.dbcp.BasicDataSource"  destroy-method= "close" > 
    6.           <property name="driverClassName"  value= "${driver}" /> 
    7.           <property name="url"  value= "${url}" /> 
    8.           <property name="username"  value= "${username}" /> 
    9.           <property name="password"  value= "${password}" /> 
    10.           <property name="initialSize"  value= "${initialSize}" /> 
    11.           <property name="maxActive"  value= "${maxActive}" /> 
    12.           <property name="maxIdle"  value= "${maxIdle}" /> 
    13.           <property name="minIdle"  value= "${minIdle}" /> 
    14.         </bean> 
    15.     
    16.         <!-- 创建SqlSessionFactory,同时指定数据源--> 
    17.         <bean id="sqlSessionFactory"   class = "org.mybatis.spring.SqlSessionFactoryBean" >  
    18.         <property name="dataSource"  ref= "dataSource"  />  
    19.         </bean>  
    20.     
    21.         <!--创建数据映射器,数据映射器必须为接口--> 
    22.         <bean id="userMapper"   class = "org.mybatis.spring.mapper.MapperFactoryBean" >  
    23.         <property name="mapperInterface"  value= "com.xxt.ibatis.dbcp.dao.UserMapper"  />  
    24.         <property name="sqlSessionFactory"  ref= "sqlSessionFactory"  />  
    25.         </bean> 
    26.     
    27.         <bean id="userDaoImpl2"   class = "com.xxt.ibatis.dbcp.dao.impl.UserDaoImpl2" > 
    28.         <property name="userMapper"  ref= "userMapper" /> 
    29.    </bean> 
 
  (2)数据映射器UserMapper,代码如下:

[java] view plain copy
    1.    public   interface  UserMapper { 
    2.          @Select ( "SELECT * FROM user WHERE id = #{userId}" )  
    3.          User getUser(@Param ( "userId" )  long  id);  
    4.    } 
 
    (3) dao接口类UserDao,代码如下:

[java] view plain copy
    1.    public   interface  UserDao { 
    2.        public  User getUserById(User user); 
    3.    } 
 
   (4)dao实现类UserDaoImpl2,,代码如下:

[java] view plain copy
    1.    public   class  UserDaoImpl2  implements  UserDao { 
    2.         private  UserMapper userMapper;  
    3.     
    4.         public   void  setUserMapper(UserMapper userMapper) {  
    5.             this .userMapper = userMapper;  
    6.         }   
    7.     
    8.         public  User getUserById(User user) { 
    9.            return  userMapper.getUser(user.getId());  
    10.         } 
    11.     } 
 

  2、采用接口org.apache.ibatis.session.SqlSession的实现类org.mybatis.spring.SqlSessionTemplate。
    mybatis中, sessionFactory可由SqlSessionFactoryBuilder.来创建。MyBatis- Spring 中,使用了SqlSessionFactoryBean来替代。SqlSessionFactoryBean有一个必须属性 dataSource,另外其还有一个通用属性configLocation(用来指定mybatis的xml配置文件路径)。
   (1)Spring配置文件:
  
[java] view plain copy
    1.    <bean id= "sqlSessionFactory"   class = "org.mybatis.spring.SqlSessionFactoryBean" >  
    2.       <property name="dataSource"  ref= "dataSource"  /> 
    3.       <property  name="configLocation"   value= "classpath:sqlMapConfig.xml" /> 
    4.       <!-- <property  name="mapperLocations"   value= "classpath*:com/xxt/ibatis/dbcp/domain/user.map.xml" /   >  --> 
    5.    </bean> 
    6.     
    7.     <bean id="sqlSession"       class = "org.mybatis.spring.SqlSessionTemplate" >  
    8.          <constructor-arg index="0"  ref= "sqlSessionFactory"  />  
    9.    </bean> 
    10.     
    11.    <bean id="userDaoImpl3"   class = "com.xxt.ibatis.dbcp.dao.impl.UserDaoImpl3" > 
    12.       <!--注入SqlSessionTemplate实例 --> 
    13.       <property name="sqlSessionTemplate"  ref= "sqlSession"  />  
    14.       <!--也可直接注入SqlSessionFactory实例,二者都指定时,SqlSessionFactory失效 --> 
    15.       <!-- <property name="sqlSessionFactory"  ref= "sqlSessionFactory"  />  
    16.    --> 
    17.    </bean> 
 
    (2)mybatis总配置文件sqlMapConfig.xml:

[xml] view plain copy
    1.    < configuration >  
    2.       < typeAliases >  
    3.         < typeAlias   type = "com.xxt.ibatis.dbcp.domain.User"   alias = "User"   />  
    4.      </ typeAliases >  
    5.       < mappers >  
    6.          < mapper   resource = "com/xxt/ibatis/dbcp/domain/user.map.xml"   />  
    7.         </ mappers >  
    8.     </ configuration >  
 
    (3)实体类映射文件user.map.xml:

[java] view plain copy
    1.    <mapper namespace= "com.xxt.ibatis.dbcp.domain.User" > 
    2.         <resultMap type="User"  id= "userMap" > 
    3.            <id property="id"  column= "id"  /> 
    4.            <result property="name"  column= "name"  /> 
    5.            <result property="password"  column= "password"  /> 
    6.            <result property="createTime"  column= "createtime"  /> 
    7.         </resultMap> 
    8.         <select id="getUser"  parameterType= "User"  resultMap= "userMap" > 
    9.           select * from user where id = #{id} 
    10.         </select> 
    11.    <mapper/> 
 
    (4)dao层接口实现类UserDaoImpl:

[java] view plain copy
    1.    public   class  UserDaoImpl  implements   UserDao  { 
    2.       public  SqlSessionTemplate sqlSession; 
    3.       public  User getUserById(User user) { 
    4.           return  (User)sqlSession.selectOne( "com.xxt.ibatis.dbcp.domain.User.getUser" , user); 
    5.       } 
    6.       public   void  setSqlSession(SqlSessionTemplate sqlSession) { 
    7.            this .sqlSession = sqlSession; 
    8.       } 
    9.     }

分享到:
评论

相关推荐

    spring_mybatis 整合jar包

    描述中提到"基本常用jar包的整合",意味着这个压缩包包含了一些基础且常用的库,这些库是进行Spring和MyBatis整合所必需的。例如,Spring的`spring-context`、`spring-beans`、`spring-jdbc`和`spring-tx`,以及...

    spring与Mybatis整合所有jar包

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

    spring和mybatis整合小案例

    3. **Spring与MyBatis整合**: - **配置MyBatis-Spring**:整合的关键在于配置Spring的SqlSessionFactoryBean,它会根据配置文件生成SqlSessionFactory,该工厂用于创建SqlSession对象,进而执行数据库操作。 - **...

    Spring与MyBatis整合源码

    3. **Spring与MyBatis整合**:整合Spring和MyBatis主要涉及以下几个步骤: - **配置数据源**:在Spring的配置文件中,我们需要定义数据源(DataSource),这是连接数据库的关键。 - **配置SqlSessionFactory**:...

    Spring-Mybatis整合

    现在我们来详细讨论一下Spring-Mybatis整合的相关知识点。 1. **Spring 概述**: Spring 是一个全面的企业级应用框架,它提供了一个容器来管理对象的生命周期和依赖关系。Spring 的核心特性包括依赖注入(DI)和...

    spring mvc mybatis 整合源码,带数据库脚本,带详细注释

    总结,这个压缩包提供了一个完整的Spring MVC和MyBatis整合的示例,包含了数据库脚本和详尽的注释,无论你是初学者还是有经验的开发者,都能从中受益。通过研究源码,你可以掌握Web应用的开发流程,理解Spring MVC和...

    spring与mybatis整合所用的jar包

    下面将详细介绍Spring与MyBatis整合所需的知识点。 1. **Spring Framework**: Spring的核心是IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入),它通过容器管理对象的生命周期和对象...

    spring整合Mybatis

    最后,`springMybatis`可能是指项目的根目录或者模块名称,通常包含`src/main/resources`下的Mybatis配置文件、Mapper接口和XML文件,以及`src/main/java`下的业务逻辑和服务层代码。 综上所述,"Spring整合Mybatis...

    spring和mybatis整合.zip

    "03.Spring和MyBatis整合-全注解配置"可能进一步深入到如何在不使用XML配置的情况下,完全依赖注解来完成Spring和MyBatis的整合。这包括在Service层使用@Autowired注解注入Mapper接口,以及在Mapper接口的方法上使用...

    Spring-SpringMVC-Mybatis整合所有jar包

    这个压缩包“Spring-SpringMVC-Mybatis整合所有jar包”包含了这三个框架整合所需的全部依赖,使得开发者能够快速搭建起一个功能完备的后端服务。 1. **Spring框架**:Spring是一个全面的开源应用框架,它提供了对...

    SSM中spring与mybatis整合

    Spring与MyBatis整合** - **配置MyBatis-Spring** 要整合Spring和MyBatis,首先需要引入`mybatis-spring`库,如`mybatis-spring-1.2.2.jar`。这个库提供了Spring与MyBatis之间的桥梁,使得MyBatis的...

    spring+mybatis整合包

    "spring+mybatis整合包"是指将这两个框架进行集成,以实现更加高效和灵活的Java开发。下面将详细阐述Spring与MyBatis的整合过程、各自的核心功能以及它们在实际项目中的应用。 1. Spring框架:Spring是Java领域最...

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

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

    spring和mybatis整合配置

    MyBatis与Spring的整合,可以让我们的数据访问层更加简洁,同时利用Spring的事务管理,实现更强大的功能。 整合Spring和MyBatis的关键步骤如下: 1. **添加依赖**:在Maven项目中,我们需要在pom.xml文件中添加...

    spring与mybatis三种整合方法

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

    Spring,Mybatis整合

    5. **Spring 整合 Mybatis**:在 Spring 的配置文件中,使用 `MapperScannerConfigurer` 扫描带有特定注解(通常是 `@Repository`)的 Mapper 接口,并自动创建对应的 Bean。 ```xml &lt;bean class="org.mybatis....

    mybatis与spring整合的全部jar包

    以上就是关于“mybatis与spring整合的全部jar包”的详细知识点,这些组件共同构建了一个灵活且易于维护的Java Web应用程序。通过理解这些概念和技术,开发者可以更好地理解和使用SSM框架来开发复杂的企业级应用。

    springmvc和mybatis整合所有jar包

    前者是MyBatis的核心库,后者是MyBatis与Spring的集成库,用于在Spring环境中使用MyBatis。 4. **数据库驱动**: 根据实际使用的数据库(如MySQL, Oracle, PostgreSQL等),需要对应的JDBC驱动,例如`mysql-...

    spring springmvc mybatis框架整合需要的jar包

    同时,mybatis-spring.jar是Spring与MyBatis之间的桥梁,它提供了事务管理和SqlSessionFactoryBean等,使得MyBatis可以无缝地融入Spring应用中。 整合这三者时,我们需要创建Spring的配置文件,如...

    spring+mybatis 整合中文教程+例子

    在"Spring+MyBatis 整合中文教程+例子"中,我们可以深入学习如何将这两个强大的框架结合在一起,构建出高效、灵活的企业级应用程序。整合过程涉及以下几个关键知识点: 1. **环境搭建**:首先,你需要安装JDK,配置...

Global site tag (gtag.js) - Google Analytics