目录
开发环境
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项目
项目的pom.xml中的版本需和上面的版本一致。
确保版本一致后,对PageHelper进行Maven Clean 和Maven Install。
PageHelper下载地址
https://download.csdn.net/download/qq_25844803/10997498
注意:该链接中的资源的相关参数,已经调整完毕,可直接Maven Clean Install
2.项目准备
2.1配置拦截器插件
在项目的MyBatis配置文件(如sqlMapConfig.xml)中,配置拦截器插件。
相关代码:
<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”
如下所示:
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
已由逆向工程生成