mybatis逆向工程如何分页的一种方法

前言:在使用逆向工程时,发现并没有自动生成相关的分页操作,经过查询之后发现需要自己实现。

实现如下

第一步、在生成的Example类中添加两个属性,offset表示起始位置,limit表示查询条数,并生成对应的get 和set方法

   
    //加入 offset 起始位置  和 limit 查询页数  用来分页
    protected int offset;
    
    protected int limit;
    /*
     * 生成 offset 和 limit 的set get 方法
     */
	public int getOffset() {
		return offset;
	}

	public void setOffset(int offset) {
		this.offset = offset;
	}

	public int getLimit() {
		return limit;
	}

	public void setLimit(int limit) {
		this.limit = limit;
	}
    

第二步、在对应的mapper.xml文件中,找到selectByExample方法,在方法中添加如下的代码


  
    limit ${offset},${limit}
    

例子如下:

  
第三步、使用
	/* 查询普通管理员列表,传入起始位置和查询数目
	 * (non-Javadoc)
	 * @see com.zhy.eduPlatform.service.AdminService#queryAdminList(int, int)
	 */
	public List queryAdminList(Integer  offset, Integer  limit,String adminName, Integer  adminId) {
		// TODO Auto-generated method stub
		AdminExample ae = new AdminExample();
		Criteria criteria  = ae.createCriteria();
		if(!"".equals(adminName) && adminName != null){
			criteria.andAdminNameLike("%" + adminName + "%");
		}
		if(adminId != Dic.NO_INPUT_ID){
			criteria.andAdminIdEqualTo(adminId);
		}
		ae.setOffset(offset);
		ae.setLimit(limit);
		List adminList  =  am.selectByExample(ae);
		return adminList;
	}
在使用时传入offset和limit的值,返回的list便是limit条数的数据



你可能感兴趣的:(编程)