mybatis-plusでよく見られるバインドエラーソリューション


mybatis-plusでよく見られるバインドエラーソリューション
文書ディレクトリ
  • mybatis-plus一般的なバインドエラーソリューション
  • org.apache.ibatis.binding.BindingException:Invalid bound statement(not found)
  • を解決
  • 1.xmlファイル構成の問題
  • 2.アプリケーションの構成問題
  • 3.mybatis-plus mapperスキャン構成問題
  • 案一:
  • 案2:
  • 案3:
  • 4.機能を使用するかどうかのmybatis-plus
  • Result Maps collection already contains value for xxx
  • を解決
    長い間見られたいくつかのバインドエラー:
  • org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
  • Result Maps collection already contains value for xxx

  • 解決org.apache.ibatis.binding.BindingException:Invalid bound statement(not found)
    この異常の原因はたくさんありますが、最終的にはマッピング関係が間違っているか見つからないことが最も本質的な原因です.
    1.xmlファイル構成の問題xmlの中で3つの点に注意します
  • namespace:mapperファイル
  • を正しく指すかどうか
  • resultMap:データベース・エンティティ・クラス
  • を正しく指しているかどうか
  • parameterType:各メソッドのparameterTypeが対応するパラメータエンティティ
  • を指すかどうか.
    2.アプリケーションの構成の問題application.propertiesmapperおよびxmlを加えた経路構成
  • propertiesバージョン
  • mybatis-plus.mapper-locations=classpath:/mapper/mysql/*.xml
    mybatis-plus.type-aliases-package=com.wang.mapper.mysql
    
  • yamlバージョン
  • mybatis-plus:
        mapper-locations: classpath:/mapper/mysql/*.xml
        type-aliases-package: com.wang.mapper.mysql
    
    

    3.mybatis-plus mapperスキャン構成の問題
    シナリオ1:
    スキャンアドレスクラスに注釈を付けるmybatis_plus.javaクラスを新規作成できます( )
    @Configuration
    @MapperScan(value = {"com.wang.a.mapper.mysql", "com.wang.b.mapper.mysql"})
    

    シナリオ2:
    システム起動クラスに注記を付ける
    @MapperScan(value = {"com.wang.a.mapper.mysql", "com.wang.b.mapper.mysql"})
    

    注意:@MapperScanこの注記は@SpringBootApplicationの上にあります.いいえ、無効になる可能性があります.
    シナリオ3:mapperファイルごとに@mapperスキャン注記を追加すると、これらはデータベースインタフェースクラスであることがフレームワークに通知される(mapperが存在するパケットパスがspringのスキャン範囲であることを前提とする).
    4.機能のmybatis-plusを使用するかどうか
    これは気まずい問題です.私はmybatis-plusを使っていないプロジェクトをmybatis-plusに追加しました.それから半日もやっていませんでしたが、後で以前は自分の駆動クラスで作ったデータベース接続で、mybatis-plusspringに基づくデータベース接続方式です.(構成中のデータベース構成はspring.xxxで始まります)
    Result Maps collection already contains value for xxxの解決
    このエラーは比較的簡単で、xxxMapper.xmlファイルの内容をチェックすれば良いのですが、主にresultMapまたはメソッドに重名があることによるmybatisコード生成ツールを複数回使用するとxmlに重複するResultMapまたはメソッドが発生しやすくなります
    [外部リンクピクチャの転送に失敗しました(img-BNSOwei 9-1565335079431)](https://tool.lu/netcard/)]