Mybatis整合Spring -- typeAliasesPackage

Mybatis整合Springspring

       根据官方的说法,在ibatis3,也就是Mybatis3问世以前,Spring3的开发工做就已经完成了,因此Spring3中仍是没有对Mybatis3的支持。sql

所以由Mybatis社区本身开发了一个Mybatis-Spring用来知足Mybatis用户整合Spring的需求。下面就将经过Mybatis-Spring来整合Mybatis跟数据库

Spring的用法作一个简单的介绍数组

MapperFactoryBean

       首先,咱们须要从Mybatis官网上下载Mybatis-Spring的jar包添加到咱们项目的类路径下,固然也须要添加Mybatis的相关jar包和Spring的mybatis

相关jar包。咱们知道在Mybatis的全部操做都是基于一个SqlSession的,而SqlSession是由SqlSessionFactory来产生的,SqlSessionFactory又app

是由SqlSessionFactoryBuilder来生成的。可是Mybatis-Spring是基于SqlSessionFactoryBean的。在使用Mybatis-Spring的时候,咱们也须要ui

SqlSession,并且这个SqlSession是内嵌在程序中的,通常不须要咱们直接访问。SqlSession也是由SqlSessionFactory来产生的,可是Mybatis-Springspa

给咱们封装了一个SqlSessionFactoryBean,在这个bean里面仍是经过SqlSessionFactoryBuilder来创建对应的SqlSessionFactory,进而获取到对应的code

SqlSession。经过SqlSessionFactoryBean咱们能够经过对其指定一些属性来提供Mybatis的一些配置信息。因此接下来咱们须要在Spring的applicationContextxml

配置文件中定义一个SqlSessionFactoryBean

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">  
       <property name="dataSource" ref="dataSource" />  
       <property name="mapperLocations"  
              value="classpath:com/tiantian/ckeditor/mybatis/mappers/*Mapper.xml" />  
       <property name="typeAliasesPackage" value="com.tiantian.ckeditor.model" />  
</bean>  

 在定义SqlSessionFactoryBean的时候,dataSource属性是必须指定的,它表示用于链接数据库的数据源。固然,咱们也能够指定一些其余的属性,下面简单列举几个:

  •  mapperLocations:它表示咱们的Mapper文件存放的位置,当咱们的Mapper文件跟对应的Mapper接口处于同一位置的时候能够不用指定该属性的值
  • configLocation:用于指定Mybatis的配置文件位置。若是指定了该属性,那么会以该配置文件的内容做为配置信息构建对应的SqlSessionFactoryBuilder,可是后续属性指定的内容会覆盖该配置文件里面指定的对应内容
  •  typeAliasesPackage:它通常对应咱们的实体类所在的包,这个时候会自动取对应包中不包括包名的简单类名做为包括包名的别名。多个package之间能够用逗号或者分号等来进行分隔(value的值必定要是包的全)
  •  typeAliases:数组类型,用来指定别名的。指定了这个属性后,Mybatis会把这个类型的短名称做为这个类型的别名,前提是该类上没有标注@Alias注解,不然将使用该注解对应的值做为此种类型的别名(value的值必定要是类的彻底限定名)
<property name="typeAliases">  
    <array>  
        <value>com.tiantian.mybatis.model.Blog</value>  
        <value>com.tiantian.mybatis.model.Comment</value>  
    </array>  
</property>  
  • plugins:数组类型,用来指定Mybatis的Interceptor
  •  typeHandlersPackage:用来指定TypeHandler所在的包,若是指定了该属性,SqlSessionFactoryBean会自动把该包下面的类注册为对应的TypeHandler。多个package之间能够用逗号或者分号等来进行分隔
  •  typeHandlers:数组类型,表示TypeHandler
相关文章
相关标签/搜索