間違った説明
An attempt was made to call a method that does not exist. The attempt was made from the following location:
com.baomidou.mybatisplus.core.MybatisMapperAnnotationBuilder.getLanguageDriver(MybatisMapperAnnotationBuilder.java:369)
The following method did not exist:
com.baomidou.mybatisplus.core.MybatisConfiguration.getLanguageDriver(Ljava/lang/Class;)Lorg/apache/ibatis/scripting/LanguageDriver;
The method's class, com.baomidou.mybatisplus.core.MybatisConfiguration, is available from the following locations:
説明
SpringBootバージョン:2.3.9。リリース
MyBatis-plusバージョン:3.3.1
この問題は最初は存在しませんでした。SpringBootバージョン2.Xでは正常でしたが、SpringBootバージョンをアップグレードした後、この問題が発生しました。
解決プロセス
まず第一に、問題が何であるかについて決定的な結論を出さないでください。このような問題の場合、IDEAツールを使用して問題を見つけることができます。[1]をクリックして対応するコード位置を入力します。クリックする必要があることに注意してください。右上隅にある[ソースのダウンロード]プロンプトでソースコードをダウンロード
し、コードがダウンロードされるのを待ちます。その後、構成にgetLanguageDriverメソッドがないことがはっきりとわかります。構成オブジェクトを入力すると、
次のことがわかります。最終的に上の位置に配置され、extendsキーワードを参照して、getLanguageDriverが次の2つのクラスに存在する必要があることを分析します。
com.baomidou.mybatisplus.core.MybatisConfiguration
org.apache.ibatis.session.Configuration
上記の2つのパッケージパスの分析では、最初のパスがmybatisplus.coreの依存関係に属し、2番目のパスがmybatisの依存関係に属していることがわかるため、2つのケースを別々にテストします
。1。アップグレードmybatisplusパッケージの依存関係。しかし、私の側はすでに非常に高いバージョンです。時間内に最新バージョンにアップグレードした後も、getLanguageDriverメソッドが表示されないため、問題は発生しません
。2.mybatisパッケージをアップグレードします。導入されたmybatis-plus-boot-starterは統合されたMyBatisパッケージであるため、最初にそれを除外してから、MyBatisパッケージの依存関係の別の上位バージョンを導入する必要があります
アップグレードが完了したら、今すぐ間違った位置に入力してください。正常であることがわかります。
このメソッドの最終処理ロジックは、親クラス
org.apache.ibatis.session.Configuration#getLanguageDriverによって完了していることがわかります。