这个问题是由于mapper接口和mapper映射文件(xml)没有关联起来而导致的
出现这个问题请检查以下三处:
1、mapper接口所在包(package)的目录和xml映射文件所在的目录(directory)是否相同
特别要注意package创建时我们是以点 . 分割的,
而directory创建时要以 / 分割,不要以点 . 分割,否则会创建成单个目录(我的错误就出在这)
特别注意,对于directory,两种创建方式得到的结果我们是看不出来区别的,如下图:
com.stone.mybatis.mapper 是按 / 以正确方式创建的
haha.haha.haha 是按. 以错误方式创建的
因此必须在创建的时候格外注意!
2、mapper.xml的namespace是否正确链接到Mapper接口(检查全类名是否正确)
3、xml中SQL的id是否与mapper接口的方法保持一致