springboot+mybatis+pagehelper+layui实现分页

一, 集成

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>

猜你喜欢

转载自blog.csdn.net/qq_38986609/article/details/86614876