Spring Boot和Mybatis的mapper-locations

环境

Spring Boot 版本为2.0.4.RELEASE,
Mybatis 版本为3.4.6,
Mybatis-Spring 版本为1.3.2。

Spring Boot + Mybatis的mapper-locations

如果使用Spring Boot + Mybatis并使用Mapper XML进行数据访问,可以在application.yml(properties)文件中指定XML文件的位置,如下所示。

mybatis:
  mapper-locations: classpath*:/jp/co/arsware/example/mapper/*.xml

然而,在Spring Boot + Mybatis中,如果Mapper XML和Mapper类的路径相同,即使不进行上述指定,Mybatis也会自动加载Mapper XML。”Mapper XML和Mapper类的路径相同”的概念如下所示。

・src/main/java/jp/co/arsware/example/mapper/CityMapper.java
・src/main/resources/jp/co/arsware/example/mapper/CityMapper.xml
只要co以下路径相同,就可以加载。

如果以上条件不相符并且application.yml(properties)中没有指定mapper-locations,则将在运行时发生以下错误。

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)

因此,如果想要更改XML的位置,或者有其他需求,必须明确在application.yml(properties)中使用mapper-locations进行指定。

以上就是。

bannerAds