資源簡介
結合這篇文章使用, 保證原創.
https://blog.csdn.net/super_sys/article/details/88371496

代碼片段和文件信息
package?org.mybatis.plugin;
import?java.sql.Connection;
import?java.sql.PreparedStatement;
import?java.sql.ResultSet;
import?java.sql.SQLException;
import?java.util.List;
import?java.util.Properties;
import?org.apache.commons.lang3.StringUtils;
import?org.apache.ibatis.executor.ErrorContext;
import?org.apache.ibatis.executor.statement.baseStatementHandler;
import?org.apache.ibatis.executor.statement.RoutingStatementHandler;
import?org.apache.ibatis.executor.statement.StatementHandler;
import?org.apache.ibatis.mapping.BoundSql;
import?org.apache.ibatis.mapping.MappedStatement;
import?org.apache.ibatis.mapping.ParameterMapping;
import?org.apache.ibatis.mapping.ParameterMode;
import?org.apache.ibatis.plugin.Interceptor;
import?org.apache.ibatis.plugin.Intercepts;
import?org.apache.ibatis.plugin.Invocation;
import?org.apache.ibatis.plugin.Plugin;
import?org.apache.ibatis.plugin.Signature;
import?org.apache.ibatis.reflection.metaobject;
import?org.apache.ibatis.reflection.Systemmetaobject;
import?org.apache.ibatis.scripting.xmltags.ForEachSqlNode;
import?org.apache.ibatis.session.Configuration;
import?org.apache.ibatis.type.JdbcType;
import?org.apache.ibatis.type.TypeException;
import?org.apache.ibatis.type.TypeHandler;
import?org.apache.ibatis.type.TypeHandlerRegistry;
import?org.mybatis.plugin.exception.PluginPropertyUndefinedException;
import?org.mybatis.plugin.model.DBTypeEnum;
import?org.mybatis.plugin.model.QueryParam;
import?org.mybatis.plugin.util.GenMysqlCountUtil;
import?org.mybatis.plugin.util.ReflectUtil;
@Intercepts({
@Signature(type?=?StatementHandler.class?method?=?“prepare“?args?=?{?Connection.class?Integer.class?})?})
public?class?PagePlugin?implements?Interceptor?{
/**?數據庫方言?*/
private?static?String?dialect?=?““;
/**?mapper.xml中需要攔截的ID(正則匹配)?*/
private?static?String?pageSqlId?=?““;
public?object?intercept(Invocation?ivk)?throws?Throwable?{
if?(!(ivk.getTarget()?instanceof?RoutingStatementHandler))?{
return?ivk.proceed();
}
RoutingStatementHandler?statementHandler?=?(RoutingStatementHandler)?ivk.getTarget();
baseStatementHandler?delegate?=?(baseStatementHandler)?ReflectUtil.getValueByFieldName(statementHandler
“delegate“);
MappedStatement?mappedStatement?=?(MappedStatement)?ReflectUtil.getValueByFieldName(delegate
“mappedStatement“);
//?只攔截需要分頁的SQL
if?(!mappedStatement.getId().matches(pageSqlId))?{
return?ivk.proceed();
}
BoundSql?boundSql?=?delegate.getBoundSql();
//?分頁SQL
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-03-09?21:37??mybatis-plugin-page\
?????文件????????1299??2018-11-09?18:16??mybatis-plugin-page\.classpath
?????文件????????1040??2018-09-07?15:16??mybatis-plugin-page\.project
?????目錄???????????0??2019-03-09?21:37??mybatis-plugin-page\.settings\
?????文件?????????155??2018-09-07?15:16??mybatis-plugin-page\.settings\org.eclipse.core.resources.prefs
?????文件?????????430??2018-09-07?15:16??mybatis-plugin-page\.settings\org.eclipse.jdt.core.prefs
?????文件??????????90??2018-09-07?15:16??mybatis-plugin-page\.settings\org.eclipse.m2e.core.prefs
?????文件?????????331??2018-09-07?15:16??mybatis-plugin-page\.settings\org.eclipse.wst.common.component
?????文件?????????172??2018-09-07?15:16??mybatis-plugin-page\.settings\org.eclipse.wst.common.project.facet.core.xm
?????文件??????????50??2018-09-07?15:16??mybatis-plugin-page\.settings\org.eclipse.wst.validation.prefs
?????目錄???????????0??2019-03-09?21:37??mybatis-plugin-page\.svn\
?????文件???????????2??2018-11-21?10:39??mybatis-plugin-page\.svn\entries
?????文件???????????2??2018-11-21?10:39??mybatis-plugin-page\.svn\format
?????目錄???????????0??2019-03-09?21:37??mybatis-plugin-page\.svn\pristine\
?????目錄???????????0??2019-03-09?21:37??mybatis-plugin-page\.svn\pristine\16\
?????文件????????3635??2018-11-21?10:41??mybatis-plugin-page\.svn\pristine\16\1681b24bad501c1aebb71f159282cce372f9c41a.svn-ba
?????目錄???????????0??2019-03-09?21:37??mybatis-plugin-page\.svn\pristine\19\
?????文件????????1213??2018-11-21?10:41??mybatis-plugin-page\.svn\pristine\19\190d75c6cc68a561b3a9294cf1e11d9acef6135e.svn-ba
?????目錄???????????0??2019-03-09?21:37??mybatis-plugin-page\.svn\pristine\2b\
?????文件?????????514??2018-11-21?10:41??mybatis-plugin-page\.svn\pristine\2b\2b452607aed3836fdccdd35a8a06710a26071a5c.svn-ba
?????目錄???????????0??2019-03-09?21:37??mybatis-plugin-page\.svn\pristine\32\
?????文件????????1020??2018-11-21?10:41??mybatis-plugin-page\.svn\pristine\32\3290f9a8d83549272c6cf0294d42b71982e81897.svn-ba
?????目錄???????????0??2019-03-09?21:37??mybatis-plugin-page\.svn\pristine\4e\
?????文件?????????759??2018-11-21?10:41??mybatis-plugin-page\.svn\pristine\4e\4e062b7d1c1fc7b313f2bf1f30302c457e079d1c.svn-ba
?????目錄???????????0??2019-03-09?21:37??mybatis-plugin-page\.svn\pristine\5e\
?????文件?????????650??2018-11-21?10:41??mybatis-plugin-page\.svn\pristine\5e\5e76c00e8633cd68536d8b2d80928733770c1690.svn-ba
?????目錄???????????0??2019-03-09?21:37??mybatis-plugin-page\.svn\pristine\71\
?????文件????????2457??2018-11-21?10:41??mybatis-plugin-page\.svn\pristine\71\7166ecd9bbb8c818dff11a505a906556881cc270.svn-ba
?????目錄???????????0??2019-03-09?21:37??mybatis-plugin-page\.svn\pristine\85\
?????文件??????????83??2018-11-21?10:41??mybatis-plugin-page\.svn\pristine\85\85d848f3ddef51bdef252b1a8696356cf2e8a887.svn-ba
?????目錄???????????0??2019-03-09?21:37??mybatis-plugin-page\.svn\pristine\97\
............此處省略86個文件信息
- 上一篇:中國菜刀.txt
- 下一篇:一種信號采集隔離器:實用新型專利說明書的編寫案例
評論
共有 條評論