资源简介
结合这篇文章使用, 保证原创.
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
- 下一篇:一种信号采集隔离器:实用新型专利说明书的编写案例
相关资源
- mybatis-3-mybatis-3.4.6.tar
- mybatis-plus 实践及架构原理
- 自动生成MyBatis的实体类、实体映射
- mybatis-generator-config_1_0.dtd
- mybatis-generator,一对一,一对多,批量
- SpringBoot集成Redis,Webservice,kafka,q
- MyBatis-讲义-2.2.docx
- MybatisPlugin crack 完美破解
- 1.MybatisPlugin crack
- SpringBoot2.1.4+Mybatis+PageHelper整合
- springboot2.0+mybatis主从数据库双数据源
- 利用MVC(SpringMVC+Spring+MyBatis)实现购
- Spring+Mybatis整合,并实现基础的增删改
- 基于 Springboot、Shiro、Mybatis、Thymelea
- spring+mybatis+springmvc+ajax简单聊天室
- mybatis入门之简单增删改查
- SpringSpringMVCmybatis电商项目实战教程
- 尚硅谷 4月份MyBatis视频教程国内首套
- mybatis-generator-config_1_0dtd网址已经链接
- spring4.0.2+mybatis3.2.4+sharding-jdbc1.4.2实现
- Spring与MyBatis整合源码
-
gba
se8tinformix+mybatis+maven+springboot 整合 - springboot + mybaties + phoenix + HikariCP 整合
- MyBatis学习笔记.zip
- Windchill+spring+mybatis
- SpringMVC+MyBatis企业应用实战+源码
- spring-boot-mybatis+c3p0demo
- 传智播客 最新版淘淘商城视频教程及
- Spring Boot+Druid+Mybatis实现JTA分布式事务
- SpringBoot+Mybatis整合完整源码
评论
共有 条评论