一, 集成
1, 确保pom.xml文件中只有一个 mybatis 的 jar 包;
2, 如果整合了 pagehelper 后项目启动报错,可能是引入了多个不同版本的 mybatis 的 jar 包,也可能是 mybatis 的版本和pagehelper 的版本冲突导致;
3, pom.xml 文件
二, 代码实例
1,封装 Utilbean
public class PageResult<T> implements Serializable {
/**
* home page
*/
int page;
/**
* size of each page
*/
int limit;
/**
* total data quantity
*/
long count;
/**
* status code
*/
String code;
/**
* describe message
*/
String msg;
/**
* returned data
*/
List<T> data;
/**
* any condition type
*/
T example;
getter, setter, toString()...
}
2, 前端数据接口
layui 标准接口
3, controller
@ResponseBody
@RequestMapping("/list")
public PageResult<Customer> customerList(PageResult<Customer> pageResult, Customer customer){
System.out.println(customer);
// input start page and page size
PageHelper.startPage(pageResult.getPage(), pageResult.getLimit());
// set condition
pageResult.setExample(customer);
//select with condition
PageResult<Customer> pageResultData = customerService.selectCustomers(pageResult);
//encapsulating customer data to PageInfo so that we can get PageSize and many infomations
PageInfo<Customer> page = new PageInfo<>(pageResultData.getData());
pageResult.setCode("0");
pageResult.setCount(page.getTotal());
pageResult.setMsg("网络故障");
return pageResult;
}
4, service
PageResult<Customer> selectCustomers(PageResult<Customer> pageResult);
5, serviceImpl
@Override
public PageResult<Customer> selectCustomers(PageResult<Customer> pageResult) {
List<Customer> cstmList = customerMapperCustom.selectCustomers(pageResult.getExample());
pageResult.setData(cstmList);
6, mapper.java
List<Customer> selectCustomers(Customer customer);
7, mapper.xml
<select id="selectCustomers" resultMap="BaseResultMap" parameterType="Customer">
select
<include refid="Base_Column_List" />
from im_customer
<where>
1=1
<if test="customercode!=null and customercode!=''">
and CustomerCode like #{customercode}
</if>
<if test="sales!=null and sales!=''">
and Sales like #{sales}
</if>
</where>
order by CustomerId
</select>