详解mappers配置的四种方法及其原理

第一种:package方式

属性:name,通过name指定包路径,优先级最高!!


    
        
    
注意点: 必须保证接口名( UserMapper )和xml名( UserMapper .xml)相同,而且他两必须在同一包中!!!

第二种: resource方式

mapper元素,通过resource指定classpath路径的相对资源,优先级第二!!!

不用保证同接口同包同名

    
        
    

第三种:url方式

mapper元素,通过url指定网络资源或者本地磁盘资源,优先级第三!!!

不推荐,了解格式即可!

格式:file:///


        

第四种:使用接口类引入 

mapper元素,通过接口类引入映射文件,优先级第四(最低)!!! 

必须保证接口名(UserMapper)和xml名(UserMapper.xml)相同,还必须在同一个包中!!! 


        
        

那么Mybatis是怎么知道我们写的mapper接口和映射文件(xml)在哪里?

Java类路径

类路径是什么?

类路径是告诉javac编译器和java解释器在哪里寻找他们要执行或导入的类

一个类路径应该由什么组成?

一般类路径包含这三种项目:

  • 类目录
  • 当前目录,一般用(.)表示
  • JAR文件

 这里我们只讲第二种!

我们在写mybatis时总会写com.kuang.dao,为什么要如此麻烦呢?

讲到这我们理解设置当前目录的重要性:

javac编译器总是在当前的目录中查找文件,而java虚拟机仅在类路径中包含有(.)的情况下才会查看当前目录,所以类路径中一定要包含当前目录,否则可能编译时会报错!

你可能感兴趣的:(java,数据库,开发语言)