MyBatisでorg.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
Spring Boot + MyBatisを使っていると、掲題の例外が発生することがよくあります。(私だけ?)
発生した時の対策をちょっとまとめてみたいと思います。
対策
- MyBatisの設定クラス(@Configuration)に@MapperScanがついているか
- @MapperScanに設定したパッケージ名は正しいか
- Mapperクラスに@Mapperがついているか
- ☆ XMLファイルが配置されているディレクトリ(もしくはパッケージ)は正しいか
自分の場合、一番最後のやつによく当たります。
IntellJでパッケージ作っているのですが、操作ミスったりしてるのか、「xxx.yyy.zzz」なんてディレクトリになっちゃってます。
Finderでディレクトリ構成を確認して気付くというパターン。