资源简介
结合这篇文章使用, 保证原创.
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
- 下一篇:一种信号采集隔离器:实用新型专利说明书的编写案例
相关资源
- SpringBoot+H2+mybatis-plus59130
- mybatis连接oracle实例
- 基于SSM+CXF构建的RESTFul webservice
- Spring+MyBatis企业应用实战第一二版的源
- springboot+mybatis整合实现注册登录
- 基于web的图书馆运营系统
- MyBatis plugin 3.155 (最新版)
- MyBatis 3.4.7 中文帮助文档(CHM)
- mybatis3-api.chm
- SpringBoot+Mybatis+前后台隔离技术,完整
- Spring+Struts2+Mybatis的一个增删改查的
- 使用MybatisPlus+SpringMBVC完成的CUID以及分
- springmvc+mybatis点餐系统(包含完整数据
- springmvc+Mybatis+axis2+webservice+quartz作业整
- 基于yml 配置方式 ,实现springBoot+sha
- spring+struts2+mybatis三大框架集成实现用
- springboot+mybatis+layui
- springmvc_2020.rar
- 基于SSM的校社联社团管理系统SpringM
- springboot+mybatis后台vue.js实现前端的音
- Mybatis从入门到精通(源码)
- Mybatis的代码
- mybatis-3.3.0.zip
- MyEclipse MyBatis Generatorl离线安装包
- MyBatis Generator自定义插件实现自定义
- mybatis-generator-1.3.5源码修改.zip
- 基于SSM的个人博客系统的设计与实现
- springboot整合mybatis+plus+avtiveMq+redis
- Mybatis数据库的基本应用
- 智能排班系统Spring+SpringMVC+MyBatis+Pat
评论
共有 条评论