public Pager<T> findByEntity(String sqlId, T entity) { /** * 执行分页 */ Integer pageSize = SystemContext.getPageSize(); Integer pageOffset = SystemContext.getPageOffset(); if(pageOffset==null||pageOffset<0) pageOffset = 0; if(pageSize==null||pageSize<0) pageSize = 15; String order = SystemContext.getOrder(); String sort = SystemContext.getSort(); Integer pageNum = null; if(pageOffset == 0){ pageNum = 1; }else{ pageNum = pageOffset/pageSize+1; } PageHelper.startPage(pageNum, pageSize); List<T> datas = this.getSqlSession().selectList(sqlId, entity); Pager<T> pages = new Pager<T>(datas); return pages; }
时间: 2024-03-07 12:53:21 浏览: 134
这也是一个用于基于Mybatis框架的分页查询操作的Java方法。与前一个方法不同的是,该方法使用实体类作为查询条件,而不是Map类型的参数列表。其中,sqlId是Mybatis映射文件中定义的查询语句的ID,entity是一个泛型类型的实体类对象,用于传递查询条件。该方法中同样使用了PageHelper类来实现分页功能,其中通过SystemContext类获取每页显示的记录数、当前页码、排序方式等信息,然后调用PageHelper.startPage()方法实现分页。最后调用getSqlSession().selectList()方法查询符合条件的记录列表,并将结果封装到Pager对象中返回。Pager对象是一个封装了分页查询结果的类,其中包含了查询出的记录列表、总记录数、总页数等信息。该方法通常被用于在Web应用中进行分页查询操作。
阅读全文