PageHelper]タブには、従来の方法のMyBatisの設定ファイル内の統合一般的なツールです。
<?XMLバージョン= "1.0"エンコード= "UTF-8" ?> <!DOCTYPE設定 PUBLIC " - // mybatis.org//DTDコンフィグ3.0 // EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" > < 設定> <! - 全局环境参数- - > < 設定> ... </ 設定> <! - 插件配置- > < プラグイン> <! - 支持PageHelper插件- > < プラグインインターセプター= "com.github.pagehelper.PageHelper" > </ プラグイン> </ 設定>
サービスを開始するが、それは次の例外をスローする場合:
原因:java.lang.ClassCastExceptionが:com.github.pagehelper.PageHelperはorg.apache.ibatis.plugin.Interceptorにキャストすることはできません
文字通り翻訳例外タイプを参照してください、PageHelperはPageHelperに、org.apache.ibatis.plugin.Interceptorにその後、点光源を変換できません
/ ** * MyBatisの- [全般]タブのインターセプタ * LOCATION:http://git.oschina.net/free/Mybatis_PageHelper * * @author liuzh / abel533 / isea533 * @version 5.0.0 * / パブリック クラス PageHelper 延び PageMethodを実装方言{ ... }
以前のプロジェクトは、そう、なぜこの問題の外に設定されているので、そこディアンの謎をインターセプタを実装していませんか?
PageHelperソースに古いプロジェクトサイトを検索:
/ ** * MyBatisの-通用分页拦截器 * * @author liuzh / abel533 / isea533 * @version 3.3.0 *项目地址:http://git.oschina.net/free/Mybatis_PageHelper * / @SuppressWarnings( "rawtypes" ) @Intercepts(@Signature(タイプ =執行。クラス、メソッド= "クエリ"、引数の= {MappedStatement。クラス、オブジェクト。クラス、RowBounds。クラス、ResultHandler。クラス})) パブリック クラス PageHelperが実装インターセプタを{ ... }
その理由が見つかりました:
PageHelper3,4バージョンはPageHelper5はもはや達成されない、インターセプタインターフェースを実装しています。
あなたはPageHelper5バージョンを使用するのであれば問題はMyBatisの中でどのように、であるこのプラグインを継承しますか?私たちが見に点光源、探しているものを、本当にインターセプタのインターフェースを実現するように配置さcom.github.pagehelperパッケージPageHelperから、我々は名前がありディアンPageInterceptorと呼ばれるクラスを、見つけました。
だから我々は、存在しないプロパティを削除、このクラスのMyBatisの設定ファイルを置く正常にサービスを開始してみてください。
結論:使用 PageHelperバージョン3、4、統合MyBatisののPageInterceptorクラス・プロファイルを使用してPageHelperバージョン5を使用して、統合を使用して、構成ファイル内PageHelper MyBatisのクラス、。
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> <configuration> <!--全局环境参数--> <settings> ... </settings> <!--插件配置--> <plugins> <!--支持PageHelper插件--> <plugin interceptor="com.github.pagehelper.PageInterceptor"> </plugin> </plugins> </configuration>