java mybatis配置文件路径_解决Spring boot整合mybatis,xml资源文件放置及路径配置问题...

网上各种解决方案,我试了好久,整合了几篇文章才凑出来,在这里分享一下,实在不想网友们在这里面绕圈子,毕竟,写代码的时间是愉快的,解决bug也是愉快的,但也是一直在bug里面绕圈子就不爽了。

亲自试验:

1) 我的mapper和xml是这样子放置的

b391a2f8c64a8aa82bb38ab71a203a56.png

2) 在.xml中namespace是这样的:

7461df6a5a72752c73aa40fc21d1d331.png

3) application.properties中mybatis.mapper-locations得这么配置到xml

f18e2af31589f1ebc39393d9c6209a2c.png

4) 最后呢,你只要在pom.xml中build下这样配置

5136a232dc6eca7186aa604a87bb23e4.png

5) 按照我这种位置防止,把响应的包名换成自己的,就基本上不会没有什么问题的。

也不用去加什么*Application中去加什么注解@MapperScan(value = "com.acme.shop.mapper")什么的了,不需要呢。

补充知识:mybatis-plus的 mapper.xml 路径配置的坑

问题:

在SpringBoot整合MyBatis时,若mapper映射文件在java路径下,就会一直报错Invalid bound statement (not found): xxx.xxxMapper.selectxx

7147c3bfbe43ac4f619f5ebac71b3597.png

说明Mapper接口是可以调用到的,问题就出在无法映射到Mapper.xml文件。

同时查看输出target目录下,没有xxxmapper.xml文件的编译结果。

原因:

SpringBoot默认配置情况下,只有resources路径下的xml文件会被扫描。

解决办法:

方法一:【推荐使用】

将mapper映射文件放在resources目录下,通常会在resources目录下建一个mapper目录,存放各种mapper的映射文件,

6094e66b65b58f43094d6a4e9a417e78.png

并且在application.properties中配置 Mapper映射文件的路径为:

#指定myBatis的核心配置文件与Mapper映射文件

mybatis.mapper-locations=classpath:mapper/*.xml

测试成功,查看target目录下,有xxxMapper.xml文件的编译结果。

0f384d31b46b4a43e762c755a8a6f2b2.png

方法二:

mapper映射文件依旧放在java目录下,

b68be4abd37ec6b4051aecf1555acde2.png

此时,需要在pom.xml文件中添加java路径下xml文件扫描配置,

true

${basedir}/src/main/java

**/*.xml

${basedir}/src/main/java

**/*.xml

并且在application.properties中配置 Mapper映射文件的路径时要加上包名,

#mybatis.mapper-locations=classpath:包名/*.xml

mybatis.mapper-locations=classpath:org.xiao.dao/*.xml

测试成功,查看target目录下,有xxxMapper.xml文件的编译结果。

3586bf010ad6d46d5063c00926bb65c8.png

以上这篇解决Spring boot整合mybatis,xml资源文件放置及路径配置问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值