[MyBatis] Invalid bound statement (not found)解决方案

这个问题是由于mapper接口和mapper映射文件(xml)没有关联起来而导致的

出现这个问题请检查以下三处:

1、mapper接口所在包(package)的目录和xml映射文件所在的目录(directory)是否相同

特别要注意package创建时我们是以点 . 分割的,

而directory创建时要以 / 分割,不要以点 . 分割,否则会创建成单个目录(我的错误就出在这)

[MyBatis] Invalid bound statement (not found)解决方案_第1张图片

 特别注意,对于directory,两种创建方式得到的结果我们是看不出来区别的,如下图:

com.stone.mybatis.mapper 是按 / 以正确方式创建的
haha.haha.haha 是按. 以错误方式创建的

因此必须在创建的时候格外注意!

[MyBatis] Invalid bound statement (not found)解决方案_第2张图片

 

2、mapper.xml的namespace是否正确链接到Mapper接口(检查全类名是否正确)

 

3、xml中SQL的id是否与mapper接口的方法保持一致

[MyBatis] Invalid bound statement (not found)解决方案_第3张图片

 

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