• 大小: 0.08M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-02-01
  • 语言: Java
  • 标签: bat  分页  插件  

资源简介

【核心代码】

/**
* 拦截后要执行的方法
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
public Object intercept(Invocation invocation) throws Throwable {
Object param = invocation.getArgs()[1];
//如果参数为空,直接直接返回
if (null == param) {
return invocation.proceed();
}
//获取分页参数对象
PageVO pageVO = getPageParam(param);
if (null != pageVO) {
//查询符合条件的总记录数
int totalCount = getQueryCount(
(Executor)invocation.getTarget(), (MappedStatement)invocation.getArgs()[0], 
parameter, (RowBounds)invocation.getArgs()[2], (ResultHandler<?>)invocation.getArgs()[3]);
//设置数据总条数
pageVO.setTotalSize(totalCount);
//查询符合条件的分页数据行记录
if (totalCount <= 0) {
return Arrays.asList(new PageResultVO(pageVO, new ArrayList<Object>(0)));
}
return Arrays.asList(new PageResultVO(pageVO, (List<Object>)invocation.proceed()));
}
//返回查询结果
return invocation.proceed();
}

/**
* 获取分页总数据条数

* @param executor
* @param ms
* @param parameter
* @param rowBounds
* @return
*/
protected int getQueryCount(Executor executor, MappedStatement ms, Object param,
RowBounds rowBounds, ResultHandler<?> resultHandler) throws Throwable {
int totalCount = 0;
//查询分页总记录数
List<Object> list = executor.query(
ms.getConfiguration().getMappedStatement(
new StringBuilder(ms.getId()).append(suffix).toString()), 
param, rowBounds, resultHandler);
if (null != list 
&& list.size() == 1) {
totalCount = (Integer)list.get(0);
}
return totalCount;
}

/**
* 获取分页参数

* @param param
* @return
*/
@SuppressWarnings({ "unchecked"})
protected PageVO getPageParam(Object param) {
PageVO pageVO = null;
//如果参数为分页对象则直接返回
if (param instanceof PageVO) {
pageVO = (PageVO)param;
}
//如果参数不是Map对象则直接返回
if(!(param instanceof Map)){
return pageVO;
}
//迭代获取分页对象
ParamMap<Object> paramMap = (ParamMap<Object>)param;
if (null != paramMap) {
for(Iterator<Map.Entry<String, Object>> iterator = paramMap.entrySet().iterator(); iterator.hasNext();){
Map.Entry<String, Object> paramEentry = iterator.next(); 
//获取到分页对象则直接跳出迭代
if (paramEentry.getValue() instanceof PageVO) {
pageVO = (PageVO)paramEentry.getValue();
break;
}
}
}
return pageVO;
}


资源截图

代码片段和文件信息

package com.demo.it.core.model;

import java.io.Serializable;
import java.util.Date;
import java.util.UUID;

/**
 * 系统实体基础VO。
 *
 */
public class baseVO implements Serializable {

private static final long serialVersionUID = 3650949305552107900L;

/**
 * 数据Id唯一标示
 */
private String id;
/**
 * 操作人账号Id
 */
private String createById;
/**
 * 操作人账号
 */
private String createByName;
/**
 * 操作人账号Id
 */
private String updateById;
/**
 * 操作人账号
 */
private String updateByName;
/**
 * 创建时间
 */
private Date createTime;
/**
 * 更新时间
 */
private Date updateTime;

public baseVO() {
super();
}

public baseVO(String id) {
super();
this.id = id;
}

public baseVO(String id String updateById String updateByName) {

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-03-24 13:12  demo\
     文件        1102  2016-01-18 09:23  demo\.classpath
     文件        1032  2016-01-13 16:22  demo\.project
     目录           0  2016-03-24 13:12  demo\.settings\
     文件         119  2016-01-09 15:21  demo\.settings\org.eclipse.core.resources.prefs
     文件         430  2016-01-18 09:23  demo\.settings\org.eclipse.jdt.core.prefs
     文件          90  2016-01-09 15:21  demo\.settings\org.eclipse.m2e.core.prefs
     文件         249  2016-01-09 17:56  demo\.settings\org.eclipse.wst.common.component
     文件         172  2016-01-18 09:23  demo\.settings\org.eclipse.wst.common.project.facet.core.xml
     文件          50  2016-01-13 16:22  demo\.settings\org.eclipse.wst.validation.prefs
     文件        3480  2016-01-18 09:22  demo\pom.xml
     目录           0  2016-03-24 13:12  demo\src\
     目录           0  2016-03-24 13:12  demo\src\main\
     目录           0  2016-03-24 13:12  demo\src\main\java\
     目录           0  2016-03-24 13:12  demo\src\main\java\com\
     目录           0  2016-03-24 13:12  demo\src\main\java\com\demo\
     目录           0  2016-03-24 13:12  demo\src\main\java\com\demo\it\
     目录           0  2016-03-24 13:12  demo\src\main\java\com\demo\it\core\
     目录           0  2016-03-24 13:15  demo\src\main\java\com\demo\it\core\model\
     文件        2480  2016-03-24 13:14  demo\src\main\java\com\demo\it\core\model\baseVO.java
     文件        1607  2016-03-24 13:14  demo\src\main\java\com\demo\it\core\model\OrderVO.java
     文件         997  2016-03-24 13:14  demo\src\main\java\com\demo\it\core\model\PageResultVO.java
     文件        4271  2016-03-24 13:14  demo\src\main\java\com\demo\it\core\model\PageVO.java
     目录           0  2016-03-24 13:12  demo\src\main\java\com\demo\it\core\orm\
     目录           0  2016-03-24 13:12  demo\src\main\java\com\demo\it\core\orm\plugins\
     目录           0  2016-03-24 13:13  demo\src\main\java\com\demo\it\core\orm\plugins\mybatis\
     文件        3835  2016-03-24 13:13  demo\src\main\java\com\demo\it\core\orm\plugins\mybatis\MybatisPaginationInterceptor.java
     目录           0  2016-03-24 13:12  demo\src\test\
     目录           0  2016-03-24 13:12  demo\src\test\java\
     目录           0  2016-03-24 13:12  demo\src\test\java\com\
     目录           0  2016-03-24 13:12  demo\src\test\java\com\lqkj\
............此处省略74个文件信息

评论

共有 条评论