1、首先在 mybatis 的配置文件 sqlMapConfig.xml 文件里面添加分页插件:
<!-- 配置分页插件 -->
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库-->
<!-- 在 pageHelper4.0之后,可以自动识别数据库类型,不需要指定数据库,
如果指定,则会报错 -->
<!-- <property name="dialect" value="mysql"/> -->
</plugin>
</plugins>
2、如果jsp页面上用的是EasyUI 框架的话,由于 EasyUI 框架需要的返回数据类型为(total,rows),所以需要创建一个 pojo,如下:
package com.taotao.common.pojo;
import java.util.List;
public class EUDataGridResult {
private long total;
private List<?> rows;
public long getTotal() {
return total;
}
public void setTotal(long total) {
this.total = total;
}
public List<?> getRows() {
return rows;
}
public void setRows(List<?> rows) {
this.rows = rows;
}
}
3、mapper 层用 mybatis 逆向工程生成
4、service 层:
ItemService 接口:
package com.taotao.service;
import com.taotao.common.pojo.EUDataGridResult;
import com.taotao.pojo.tb_Item;
public interface ItemService {
//tb_Item getItemById(long itemId);
EUDataGridResult getItemList(int page,int rows);
}
5、接口实现类
package com.taotao.service;
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 com.taotao.common.pojo.EUDataGridResult;
import com.taotao.mapper.tb_ItemMapper;
import com.taotao.pojo.tb_Item;
import com.taotao.pojo.tb_ItemExample;
@Service
public class ItemServiceImpl implements ItemService{
//分页显示商品列表
@Override
public EUDataGridResult getItemList(int page, int rows) {
//查询商品列表
tb_ItemExample example = new tb_ItemExample();
//分页处理
PageHelper.startPage(page, rows);
List<tb_Item> list = itemMapper.selectByExample(example);
//创建一个返回值对象
EUDataGridResult result = new EUDataGridResult();
result.setRows(list);
//取记录总条数
PageInfo<tb_Item> pageInfo = new PageInfo<>(list);
result.setTotal(pageInfo.getTotal());
return result;
}
}