MyBatis を設定するときのエラー メッセージは次のとおりです:
バインドされたステートメントが無効です (見つかりません): com.shizongger.chapter2.mapper.UserMapper.insertUser
単純に理解すると、正しいステートメントが見つからないということになります。これは通常、mapper.xml と mapper.java の間のファイルの不一致が原因で発生します。マッパーの導入方法は大きく分けて4つあります
1. ファイルパスを使用してマッパーを導入
<mapper></mapper> <mapper></mapper>
3. クラス登録を使用してマッパーを導入
<package></package>
4.マッピングを導入する .xxxMapper.xml
<mapper></mapper> <mapper></mapper>
マッパーを導入するこれら 4 つの方法には、それぞれ独自の特徴があります。スキャンされたパッケージを使用する 1 つ目または 2 つ目の方法を使用することをお勧めします。ただし、2 番目の方法を使用する場合は注意してください。xxxMapper.java と xxxMapper.xml の名前はまったく同じである必要があります。このエラーの原因は、UserMapper.xml を誤って userMapper.xml と書き、先頭に小文字を使用したため、プログラムがパッケージをスキャンするときにマッパーのスキャンに失敗し、エラーが発生したためです。
なぜ私はこの間違いを犯したのでしょうか?なぜなら、『MyBatis Technical Principles and Practices in a Simple Language』(Electronic Industry Press-Yang Kaizhen) の第 3 章、57 ページを参照したときに、著者は userMapper.xml のコード例を示し、userMapper.xml ファイルを次のように開始していたからです。小文字。 。また、72 ページで mapper.xml が使用されている箇所では、著者は、mapper.xml を小文字で始める癖があります。私はこれが、MyBatis のデフォルト要件であるキャメルケースの名前付けに準拠し、最初の文字は小文字でなければならないことが原因であると誤って考えました。 そこで、専門書を書く著者には、衝動的にならず、読者にふさわしい人間になるようアドバイスしたいと思います。
以上がMyBatis設定時のエラーメッセージの解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。