欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

PageHelper与EasyUI的简单联合使用

程序员文章站 2022-04-16 21:29:02
...

开发环境

Maven+EasyUI+Spring+SpringMVC+MyBatis

1.PageHelper准备

1.1添加依赖

将以下代码粘贴到项目(如SSM-Parent)的pom.xml中

<!-- 分页插件 -->
<dependency>
	<groupId>com.github.miemiedev</groupId>
	<artifactId>mybatis-paginator</artifactId>
	<version>1.2.15</version>
</dependency>
<dependency>
	<groupId>com.github.pagehelper</groupId>
	<artifactId>pagehelper</artifactId>
	<version>3.4.2-fix</version>
</dependency>

1.2导入Pagehelper项目

PageHelper与EasyUI的简单联合使用
项目的pom.xml中的版本需和上面的版本一致。
PageHelper与EasyUI的简单联合使用
确保版本一致后,对PageHelper进行Maven Clean 和Maven Install。

PageHelper下载地址
https://download.csdn.net/download/qq_25844803/10997498
注意:该链接中的资源的相关参数,已经调整完毕,可直接Maven Clean Install

2.项目准备

2.1配置拦截器插件

在项目的MyBatis配置文件(如sqlMapConfig.xml)中,配置拦截器插件。
PageHelper与EasyUI的简单联合使用
相关代码:

<plugins>
   <!--  com.github.pagehelper为PageHelper类所在包名 -->
    <plugin interceptor="com.github.pagehelper.PageHelper">
        <!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库  -->
        <property name="dialect" value="mysql"/>
    </plugin>
</plugins>

2.2文件准备

2.2.1准备Mapper文件和Pojo文件

在这里,本人使用了MyBatis****生成相关mapper文件和pojo文件

****下载地址
https://download.csdn.net/download/qq_25844803/10997483

2.2.2准备jsp文件

在class为”easyui-datagrid”的table中,在data-options里添加”pagination:true”
如下所示:
PageHelper与EasyUI的简单联合使用

2.3代码实现

2.3.1 Controller

相关代码:

// 加载 用户列表 信息
@RequestMapping("/user/list")
@ResponseBody
public EasyUIDataGridResult showUsersPage(Integer page,Integer rows) {
	System.out.println("----page="+page+"----rows"+rows);
	return usersService.getUsers(page, rows);
}

2.3.2 Service

Service

import cn.nb.pojo.EasyUIDataGridResult;

public interface UsersService {

    public EasyUIDataGridResult getUsers(int page,int rows);
	
}

ServiceImp

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import cn.nb.mapper.UsersMapper;
import cn.nb.pojo.EasyUIDataGridResult;
import cn.nb.pojo.Users;
import cn.nb.pojo.UsersExample;
import cn.nb.service.UsersService;

@Service
public class UsersServiceImp implements UsersService {

    @Autowired
	private UsersMapper usersMapper;

    @Override
	public EasyUIDataGridResult getUsers(int page, int rows) {
		PageHelper.startPage(page, rows);
		UsersExample example = new UsersExample();
		List<Users> list = usersMapper.selectByExample(example);
		PageInfo<Users> info = new PageInfo<Users>(list); 
		EasyUIDataGridResult dataGridResult = new EasyUIDataGridResult();
		dataGridResult.setTotal(Integer.parseInt(info.getTotal()+""));
		dataGridResult.setRows(list);
		return dataGridResult;		
	}

	 
}

2.3.3 Mapper层

Mapper.Java

已由****生成
这里只显示核心代码

package cn.nb.mapper;

import cn.nb.pojo.Users;
import cn.nb.pojo.UsersExample;
import java.util.List;
import org.apache.ibatis.annotations.Param;

public interface UsersMapper {
    …
    List<Users> selectByExample(UsersExample example);}

Mapper.Java

已由****生成

2.3.4 Pojo类

EasyUIDataGridResult.Java

package cn.nb.pojo;

import java.io.Serializable;
import java.util.List;

public class EasyUIDataGridResult implements Serializable {

	private static final long serialVersionUID = 1L;

	private Integer total;
	private List rows;

	public EasyUIDataGridResult() {
		super();
	}

	public Integer getTotal() {
		return total;
	}

	public void setTotal(Integer total) {
		this.total = total;
	}

	public List getRows() {
		return rows;
	}

	public void setRows(List rows) {
		this.rows = rows;
	}

	@Override
	public String toString() {
		return "EasyUIDataGridResult [total=" + total + ", rows=" + rows + "]";
	}

}

UsersExample.Java

已由****生成

Users.Java

已由****生成