日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Springboot如何使用mybatis實現攔截SQL分頁

瀏覽:18日期:2023-05-10 11:07:06

新建一個類MyPageInterceptor.java(注意在springboot中要添加注解@Component)

package com.grand.p1upgrade.mapper.test;import java.sql.Connection;import java.util.Map;import java.util.Properties;import org.apache.ibatis.executor.parameter.ParameterHandler;import org.apache.ibatis.executor.statement.StatementHandler;import org.apache.ibatis.mapping.MappedStatement;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.springframework.stereotype.Component;@Component@Intercepts({@Signature(type=StatementHandler.class,method='prepare',args={Connection.class,Integer.class})})public class MyPageInterceptor implements Interceptor { private int page; private int size; @SuppressWarnings('unused') private String dbType; @SuppressWarnings('unchecked') @Override public Object intercept(Invocation invocation) throws Throwable { System.out.println('plugin is running...'); StatementHandler statementHandler = (StatementHandler)invocation.getTarget(); MetaObject metaObject = SystemMetaObject.forObject(statementHandler); while(metaObject.hasGetter('h')){ Object object = metaObject.getValue('h'); metaObject = SystemMetaObject.forObject(object); } while(metaObject.hasGetter('target')){ Object object = metaObject.getValue('target'); metaObject = SystemMetaObject.forObject(object); } MappedStatement mappedStatement = (MappedStatement)metaObject.getValue('delegate.mappedStatement'); String mapId = mappedStatement.getId(); if(mapId.matches('.+ByPager$')){ ParameterHandler parameterHandler = (ParameterHandler)metaObject.getValue('delegate.parameterHandler'); Map<String, Object> params = (Map<String, Object>)parameterHandler.getParameterObject(); page = (int)params.get('page'); size = (int)params.get('size'); String sql = (String) metaObject.getValue('delegate.boundSql.sql'); sql += ' limit '+(page-1)*size +','+size; metaObject.setValue('delegate.boundSql.sql', sql); } return invocation.proceed(); } @Override public Object plugin(Object target) { return Plugin.wrap(target, this); } @Override public void setProperties(Properties properties) { String limit = properties.getProperty('limit','10'); this.page = Integer.parseInt(limit); this.dbType = properties.getProperty('dbType', 'mysql'); } }

添加測試TestMapper.java

package com.grand.p1upgrade.mapper.test;import java.util.List;import java.util.Map;import org.apache.ibatis.annotations.Mapper;@Mapperpublic interface TestMapper { public List<Map<String,Object>> findByPager(Map<String, Object> params); public long count();}

TestMapper.xml

<?xml version='1.0' encoding='UTF-8' ?><!DOCTYPE mapper PUBLIC '-//mybatis.org//DTD Mapper 3.0//EN' 'http://mybatis.org/dtd/mybatis-3-mapper.dtd'><mapper namespace='com.grand.p1upgrade.mapper.test.TestMapper'> <select resultType='java.util.HashMap'> select * from p1project.sys_user </select> <select resultType='long'> select count(1) from p1project.sys_user </select></mapper>

在調用TestMapper.findByPager傳遞參數的時候將page和size傳入即可

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
亚洲伦乱视频| 国产精品一卡| 欧美理论视频| 精品国产乱码久久久久久1区2匹| 亚洲免费福利一区| 国产农村妇女精品一二区| 在线一区免费| 亚洲欧美视频| 欧美日本久久| 国产精品nxnn| 国产日韩欧美一区二区三区在线观看 | 蜜臀久久99精品久久久画质超高清| 日韩中文欧美| 久久国产亚洲精品| 91精品观看| 亚洲一二三区视频| 女同性一区二区三区人了人一 | 亚洲久久在线| 亚洲精品影视| 精品久久在线| 91精品91| 国产精品成人国产| 久久久9色精品国产一区二区三区| 亚洲一级影院| 日韩高清电影免费| 久久久久久久欧美精品| 一区二区自拍| 欧美91在线|欧美| 日韩视频网站在线观看| 亚洲激情婷婷| 99热精品久久| 一区二区电影在线观看| 日韩av电影一区| 日本午夜精品| 欧美特黄a级高清免费大片a级| 亚洲91在线| 日韩在线高清| 精品视频一二| 国产精品一线| 国产极品模特精品一二| 久久狠狠久久| 日韩午夜精品| 麻豆国产欧美日韩综合精品二区| 国产日产精品_国产精品毛片| 日韩在线播放一区二区| 羞羞答答国产精品www一本| 91tv亚洲精品香蕉国产一区| 国产日韩一区| 欧美有码在线| 欧美一区二区三区久久精品| 中文字幕免费精品| 热久久免费视频| 色综合视频一区二区三区日韩 | 日本一区二区免费高清| 国产精品欧美日韩一区| 欧美精品影院| 免费看久久久| 韩日一区二区| 国产成人黄色| 麻豆91在线播放| 日本欧美国产| 久久视频精品| 亚洲激情久久| 中文字幕成人| 久久99精品久久久久久园产越南| 国产精品毛片久久久| 一区二区三区四区在线看| 亚洲一区二区三区高清| 亚洲精品动态| 中文在线а√天堂| 夜久久久久久| 97精品国产99久久久久久免费| 你懂的国产精品永久在线| 国产传媒在线| 亚洲一级高清| 欧美精品黄色| 欧美精品自拍| 麻豆91精品| 日韩成人午夜精品| 91精品国产自产观看在线 | 最近国产精品视频| 国产剧情一区| 日韩精品1区| 亚洲欧洲一区| 国产精品一区免费在线| 麻豆免费精品视频| 麻豆成人综合网| 国产 日韩 欧美一区| 另类中文字幕国产精品| 老鸭窝亚洲一区二区三区| 欧美日本不卡| 不卡中文一二三区| 精品久久久久久久| 久久久9色精品国产一区二区三区| 不卡av一区二区| 亚洲三级毛片| 国产日韩1区| 秋霞国产精品| 亚洲综合婷婷| 精品三区视频| 日韩精品一页| 99精品一区| 久久成人高清| 99久久精品费精品国产| 亚洲人成精品久久久| 91视频精品| 在线亚洲观看| 日韩精品首页| 国产精品免费精品自在线观看| 麻豆91在线播放| 亚洲麻豆一区| 欧美在线综合| 日本免费一区二区三区四区| 日韩高清三区| 日韩欧美一区二区三区免费看| 亚洲涩涩av| 精品免费视频| 国产日韩一区二区三免费高清 | 久久久久久久欧美精品| 鲁大师影院一区二区三区| 日本99精品| 国产91在线精品| 亚洲一区二区日韩| 亚洲免费观看| 亚洲免费激情| 日韩一区二区免费看| 国产99精品| 欧美a级一区| 午夜日韩av| 亚洲精品人人| 自由日本语亚洲人高潮| 国产精品嫩草99av在线| 久久99伊人| 久久一区国产| 91精品一区国产高清在线gif | 视频一区视频二区在线观看| av不卡免费看| 天堂网在线观看国产精品| 91精品一区二区三区综合| 国产综合亚洲精品一区二| 国产一区二区三区四区五区传媒| 精品亚洲精品| 久久九九精品| 99国产精品久久久久久久成人热| 亚洲91网站| 国产日韩中文在线中文字幕| av在线最新| 热久久国产精品| 久久网站免费观看| 中文字幕一区二区三区四区久久| 蜜桃av一区二区在线观看| 丝袜美腿一区二区三区| 欧美三级第一页| 精品久久影院| 蜜臀av亚洲一区中文字幕| 欧洲毛片在线视频免费观看| 日韩精彩视频在线观看| аⅴ资源天堂资源库在线| 91精品精品| 精品视频黄色| 麻豆成全视频免费观看在线看| 久久久噜噜噜| 国产精品tv| 成人自拍av| 日韩二区三区在线观看| 国产精品伦理久久久久久| 欧美亚洲福利| 亚洲高清av| 国产精品99精品一区二区三区∴| 国产在线欧美| 久久精品国产一区二区| 亚洲香蕉视频| 在线看片不卡| 日韩国产一区二区三区| 国产精品chinese| 久久av在线| 精品国产网站| 先锋亚洲精品| 国产日韩欧美一区| 精品一区在线| 国产一区丝袜| 人人精品久久| 99热精品在线观看| 久久久久国产精品一区三寸| 日韩精品中文字幕吗一区二区| 在线天堂资源www在线污| 日韩欧美三区| 亚洲精选成人| 四虎精品一区二区免费| 亚洲人妖在线| 亚洲伊人影院| 亚洲色诱最新| 亚洲2区在线| 欧美1区免费| 伊人精品一区| 在线 亚洲欧美在线综合一区| 久久精品国产999大香线蕉| 亚洲69av| 国产亚洲欧美日韩在线观看一区二区 | 亚洲二区免费|