正常に解決されました: 無効なバインドされたステートメント (見つかりません) mybatis を既に使用しているプロジェクトに mybatis-plus を導入すると、結果として共存できなくなります。

記事の最後に個人の公開アカウントがあります:テクノロジーを愛する Xiao Zheng主に開発知識や教材、卒業設計指導などの共有を行っています。興味のある人は注目してみてはいかがだろうか。なぜ共有するのでしょうか? 自分が踏んだ落とし穴を再び他人に踏ませる必要はなく、自分で見直すことで記憶も深まるでしょう。自分の利益と他人の利益は、いわゆるwin-winの状況です。

                                                                              テクノロジーを愛するシャオ・ジェンさん

問題の説明

元のプロジェクトでは springboot+mybatis フレームワークを使用しており、すべてのインターフェイス サービスに問題はありませんでした。コードの最適化を考えていたのですが、mybatis-plusの利用も検討していたので、コードの検証コード部分はmybatis-plusを利用していましたが、利用の過程で新しいDaoレイヤー、つまりMapperを利用しました。正常に動作し問題はありませんでしたが、アクセスする前にインターフェイスの使用中に問題が発生し、エラーが報告されました。

2023-09-13 20:04:34 |ERROR |http-nio-8282-exec-3 |GlobalExceptionHandler.java:24 |com.zheng.yu.config.handler.GlobalExceptionHandler |Invalid bound statement (not found): com.zheng.yu.mapper.UserMapper.getUserByUsername

ネットでいろいろ調べてみたところ、以下のような意見が多かったです。

  • 1. マッピングが成功しませんでした。
  • 2. パッケージの構造が間違っています
  • 3. mybatis と mybatis-plus の jar パッケージが競合します。
  • 4. mybatis と mybatis-plus の設定ファイルは共存可能です [mybatis の該当設定を mybatis-plus の該当設定に変更すると問題ありません。しかし、私の他のプロジェクトには、問題なく共存する mybatis 構成と mybatis-plus 構成もあります。プログラムと人間の両方が実行できる限り]

解決

変更する必要がある場所は yml 設定ファイル内です。

ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/weixin_43304253/article/details/132863888