大家好,我是烤鸭:
现在是采坑实录。
invalid bound statement (not found) 这个坑用过mybatis的人肯定都踩过。
1. 环境
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.0.RELEASE</version></parent><dependencies><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>3.4.6</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.12</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.10</version></dependency></dependencies>
druid 1.1.10
mysql 8.0
springboot 2.0
mybatis 3.4.6
解决方案:
看这篇(比较常规,方法找不到或者xml映射错误)
https://www.cnblogs.com/liaojie970/p/8034525.html
如果解决不了,看这篇:(pom.xml文件中配置resource)
https://blog.csdn.net/k469785635/article/details/77532512
还解决不了,看这篇(有关mysql 8.0的连接错误):
https://blog.csdn.net/qq_20788055/article/details/80380099
我的就是还解决不了。看这篇(mapper-locations的路径配置)
https://blog.csdn.net/loco_1/article/details/79711839
解决了。
问题重现:
mybatis:mapper-locations: classpath:com.mys.my.app.mapper/*.xmltype-aliases-package: com.mys.my.app.pojo
改为:
mybatis:mapper-locations: classpath*:com/mys/my/app/mapper/*.xmltype-aliases-package: com.mys.my.app.pojo
出这种问题找半天,真是想骂自己啊。
ps:
在idea中对 mapper 文件夹 重命名(快捷键alt+shift+r) ,类似上面
如果是 com.mys.my.app.mapper (可能作为包结构或者文件夹名称就叫com.mys.my.app.mapper),
mapper-locations: classpath:com.mys.my.app.mapper/*.xml
如果是mapper(说明是文件夹层级,末级文件夹是mapper)
mapper-locations: classpath:com/mys/my/app/mapper/*.xml