第一次集成mybatis框架遇到了好多問題單獨(dú)記錄一下
一、問題描述
本地運(yùn)行時(shí)出現(xiàn)異常,錯(cuò)誤信息如下:
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):
com.example.mybatis.mybatisdemo.mapper.UserMapper.getUserMessage
問題分析和解決方法
首先类咧,給定的異常提示信息并不精準(zhǔn)丐谋,有多個(gè)錯(cuò)誤原因都會(huì)拋出該異常还惠。mybatis出現(xiàn)這個(gè)問題饲握,通常是由Mapper interface和對(duì)應(yīng)的xml文件的定義對(duì)應(yīng)不上引起的,這時(shí)就需要仔細(xì)檢查對(duì)比包名蚕键、xml中的namespace救欧、接口中的方法名稱等是否對(duì)應(yīng)。我之前就因?yàn)榉Q忘記在xml標(biāo)簽的id屬性中添加方法名或?qū)戝e(cuò)方法名而出現(xiàn)這個(gè)錯(cuò)誤锣光。
出現(xiàn)這個(gè)錯(cuò)誤時(shí)笆怠,按以下步驟檢查一般就會(huì)解決問題:
1:檢查xml文件所在package名稱是否和Mapper interface所在的包名一一對(duì)應(yīng);
2:檢查xml的namespace是否和xml文件的package名稱一一對(duì)應(yīng)誊爹;
3:檢查方法名稱是否對(duì)應(yīng)蹬刷;
以上是別人總結(jié)的方法我自己也查了一下沒有上面的問題后來(lái)找到了自己的原因,是由于沒有在application.properties中配置mapper掃描的路徑
mybatis.mapper-locations=classpath:/mapper/*Mapper.xml