关于myBatis配置中的一些注意事项

  最近在学习mybatis,在网上查阅资料,并按照别人的范例来测试,总会出一些错误,这里把配置过程中的一些注意事项梳理一下。

一、导包(用eclipse开发)

  1、如果你新建的是普通的project,需要在工程目录下,新建一个文件夹(一般为lib),然后需要手动导包,具体操作是:选中包右键-Build Path-add to Build Path。之前的文件夹不能删除,因为它实际上加载的是这些包的路径。

  2、如果你新建的是web工程,只需要把相关包放到WEB-INF/lib 中即可,它会自动导包,同样lib里的包不能删除。

二、XML文件配置

  1、该配置文件名可以自定义,放置的路径也可以自定义,但是如果你不是放在src的根路径下,比如放在src/config/mybatis.xml,在创建SqlSessionFactory实例时,Resources.getResourceAsReader("config/mybatis.xml"),config前不能加“/”,如果放在src根路径下,这里直接写文件名即可。

  2、配置文件里配置项目是有先后顺序的,依次是:properties,settings,typeAliases,typeHandlers,objectFactory,objectWrapperFactory,plugins,environments,databaseIdProvider,mappers,那个选项不配置,它的位置空出来,但顺序必须遵循,否则会报错。

  3、properties选项,可导入外部以properties结尾的配置文件。通常会将数据库的连接信息放在该配置文件里,这时在配置dataSource时,value=“${driver}”,这种形式,此处driver对应的就是配置文件中driver = com.mysql.jdbc.Driver

  4、在配置mapper时,有几种方式,分别是resource、url、class、package

  resource形式:

  <mappers>  
        <mapper resource="com/tiantian/mybatis/model/BlogMapper.xml"/>  
    </mappers>

  这个路径是你xml映射文件的路径包名+文件名。

  url形式:

  <mappers>

    <mapper url="file:///var/mappers/BlogMapper.xml"/> 

  </mappers>

  这个路径对应的是网络上了某个文件,注意file:// 前缀 +路径+文件名

  class形式:

  <mappers>

     <mapper class="org.mybatis.builder.BlogMapper"/> 

   </mappers>

  这个class实际上是接口,写的是接口的全名。

  package形式:

  <mappers>

     <package name="org.mybatis.builder"/>

   </mappers>

  5、实际项目中采用最多的是面向接口编程,也就是一个接口对应一个XML映射文件,如果让接口和映射文件对应呢?答案是XML映射文件中的mapper namespace="com.mybatis.inter.IUserOperation",这个namespace中一定是接口的全名,不能是别名、简名,否则运行时会报错。一般我们会把接口名和映射文件名写成一样的,而且在同一个包下,所以感觉namespace就是xml文件的全名。

  

 
原文地址:https://www.cnblogs.com/manliu/p/4149053.html