浅谈mybatis核心配置,spring和mybatis 整合

阅读更多

在这两大框架的整合中我们使用mybatis-spring的jar包来整合,因为在spring3 的时候还没有对mybatis的支持,所以这个是mybatis社区自己开发出来的

sqlSessionFactory

首先我们要知道mybatis是通过sqlsession 在操作的,而sqlSession是SQLSessionFactory在创建出来的,

所以我们要在xml中配置一个会话工场 来让spring管理

 

 
        
    

 datasource

 

里面有一个配置property 是datasource

 

它就是与数据库连接的配置   这里我使用的是alibaba的druid

 

 
    
        
        
        
        

        
        
        
        

        
        

        
        

        
        

        
        
        
        

        
        
        

        
        
    

 扫描mapper文件

mybatis 每一个表或者说每一个实体类都有一个对应的***.xml 文件,

现在我们将自动扫描mapper包中的xml文件,注册到spring容器中,实现了spring与mybatis的整合

这里有几种办法可以扫描

首先先讲第一种

(1)

mapperScannerConfigurer

 

  
    
        
            

  其中有一个basePackage 属性 是用来定义要扫描的mapper的包的位置, 当有多个要扫描的包的时候,可以用逗号隔开

 

这样mapperscannerconfigurer 就可以将包中的xml文件  注册成一个个的mapperFactoryBean对象,

当然有时候我们mapper包中的文件并不都是我们要扫描的,所以要进行一些筛选

这个时候就有两个属性可以选择

一个是annotationClass 领一个就是markerInterface

(1)annotationClass 是注解式的过滤,即只有注解标识的才可以进行注册扫描

(2)markerInterface 是 接口式的过滤,即只有继承了某个接口的才可以注扫描

 

第一种 

将有mybatisMapper 注解的进行扫描

  1.   
  2.    wonders.mybatis.mapper" />  
  3.    wonders.mybatis.annotation.MybatisMapper"/>  
  4.   

 

第二种

将实现了MapperInterface的进行扫描

  1. <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">  
  2.    <property name="basePackage" value="com.wonders.mybatis.mapper" />  
  3.    <property name="markerInterface" value="com.wonders.mybatis.mapper.MapperInterface"/>  
  4. bean>  

 

当两者都有的时候是取其并集,即两者有其一就扫描注册

 

(2)扫描sqlMapperConfig.xml 注册

在这个配置中是每一个实体类跟其对应的xml的配置

 



    

 

 

然后在spring-mybatis.xml中进行配置

 
        
        
    

 这样就可以将xml配置中的一个个已配置的xml进行扫描了

 

最后就是整个的配置




    
    

    
    
        
        
        
        

        
        
        
        

        
        

        
        

        
        

        
        
        
        

        
        
        

        
        
    

    
  

    
        
        
    



    
    
        
            

    
    

    
    

    
    

   


    
        
            
            
            
            
            
            
            
            
            
            
        
    

    
    
        
    



 

 

 

 

你可能感兴趣的:(浅谈mybatis核心配置,spring和mybatis 整合)