做测试的老婆想让我帮她往她们测试环境的数据库造些数据,然后我是做 Java 的,于是想利用 Spring Boot 和 MyBatis-Plus 来做一个项目去帮她造数据,顺便可以练习一下从零搭建项目。
因为一般工作中项目框架都是别人早都搭好的,我们一般只负责写业务代码,很少有机会接触项目搭建的过程,所以最好自己尝试亲手搭建项目,在不断试错中慢慢摸索学习,这样才能提高自己,也会对项目更加熟悉,以后遇到问题才有可能迎刃而解。
然后在搭建项目的过程中又遇到了之前遇到的 MyBatis 中 Dao 接口与 Mapper 配置文件在做映射绑定失败的问题,通过不断分析,终于找到了问题原因所在。
现象是通过 Postman 调用 RESTful 接口之后,在 Controller 层调用 Service 层时,报错:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
分析的思路
下面就具体讲下当时分析的思路。
Flush 注解
查看堆栈信息后发现,报错是在这里,如图:
在这里插入图片描述
猜测可能是 Service 的 API 没有加 Flush 注解,于是加上注解,再次测试。
隐藏内