遭遇型変換例外構成PageHelperのプラグイン・プロジェクト

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>

 

おすすめ

転載: www.cnblogs.com/dubhlinn/p/10932261.html