spring与mybatis整合配置文件详解

一 : jar包简单列举 :

1, mybatis官方提供与mybatis与spring整合jar包

2, spring相关jar包    3,mybatis相关包    4,c3p0连接池     5, mysql数据库驱动


二 : mybatis配置文件

在classpath下创建mybatis-config.xml

在与spring整合前, mybatis配置文件中配置 数据库连接池 , 事物管理器, 映射文件 等 . 在与spring整合后其中数据库连接池, 事物管理器交给spring进行管理


 

    


三 : spring配置文件

在classpath下创建applicationContext.xml


    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:task="http://www.springframework.org/schema/task"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
        http://www.springframework.org/schema/task
           http://www.springframework.org/schema/task/spring-task-3.0.xsd">
       
       
           
           
       
           
           
       
           
            
            
            
            
            
            
            
            
           

           
       
           
               
            
            
            
           

           
    
        
            
        

    
       
           
       
       
       
           
               
           

           
           


需要配置内容如下 :


1, 事务管理

1.1 此处使用注解式事物管理,  分为两步 , (1配置数据源事物 2 开启注解驱动)

   

         <beanclass="org.springframework.jdbc.datasource.DataSourceTransactionManager">

              <propertyname="transactionManager"ref="dataSource"/>

         bean>

    

<tx:annotation-driven/>


2,  读取jdbc.properties文件 , 两种方式

  2.1扩展性不好的方式

  

        <context:property-placeholderlocation="classpath:jdbc.properties"/>

  2.2 扩展性好的方式

       

         <beanclass="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">

                   <propertyname="locations">

                            <list>

                                     <value>classpath:jdbc.propertiesvalue>

                            list>

                   property>

bean>


3, 数据库连接池

      
           
            
            
            
            
            
            
            
            
           


4, 实例化sqlSessionFactory工厂

   作用 : 在未使用spring管理sqlSessionFactory之前,每次使用sqlSessionFactory都要在代码中读取mybatis配置文件使用sqlSessionFactoryBuilder类创建sqlSessionFactory,获取sqlSession . 使用spring配置文件管理sqlSessionFactory的创建后就可以省去重复创建sqlSessionFactory的代码

  

         <bean id="sqlSessionFactory"class="org.mybatis.spring.SqlSessionFactoryBean">

             

              <propertyname="dataSource"ref="dataSource"/>

             

              <propertyname="configLocation"value="classpath:mybatis-config.xml"/>

          bean>

 

5, 使用注解式实例化Service

    注意 : spring的扫描器只扫描Service层 , Dao层由Mybatis负责扫描 , 如果Dao层是接口则不需要扫描 .Controller层由SpringMvc负责扫描 , 所以在spring配置文件的扫描器要排除扫描Controller层

       

        <context:component-scan base-package="cn.sang.service.imp"/>


6, 使用dao实现类开发

注解式开发中, spring的扫描器只扫描service层, springmvc扫描器扫描controller层 , mybatis扫描dao层 , 如果dao实现类没有被扫描 , 可以在spring配置文件中通过配置bean的方式, 进行实例化 , 然后在service层可以使用autowraid注解进行注入使用

      
       
       
           
               
           


你可能感兴趣的:(spring与mybatis整合配置文件详解)