Java 使用PageHelper进行动态分页

    xiaoxiao2022-07-05  194

    PageHelper分页插件的使用

    EUDataGridResult公共类 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; } } 首先在spring.xml配置文件里面配置PageHelper <!-- PageHelper分页配置 --> <property name="plugins"> <array> <bean class="com.github.pagehelper.PageInterceptor"> <property name="properties"> <value> <!--helperDialect属性来指定使用的数据库。 --> helperDialect=sqlserver <!--分页合理化参数,设置为true时,pageNum<=0时会查询第一页,pageNum>pages(超过总数时),会查询最后一页。 --> reasonable=false params=count=countSql supportMethodsArguments=true <!--默认值为 false。设置为 true 时,允许在运行时根据多数据源自动识别对应方言的分页 --> autoRuntimeDialect=true </value> </property> </bean> </array> </property> mapper里写sql语句 <select id="getUser" resultType="User"> SELECT * FROM User </select> 与sql语句关联的接口 List<User> getUser(); service接口 //page显示的第几页,pageSize一页显示的数量 List<User> getUser(int page,pageSize); service接口的实现类 public List<User> getUser(int page,int pageSize) { List<User> channelsList = new ArrayList<User>(); // 分页处理 PageHelper.startPage(page, pageSize); List<User> ds = mr.getMessageAll(UserId); for (int i = 0; i < ds.size(); i++) { User c = new User(); //设置参数 c.setCreateDate(ds.get(i).getCreateDate()); channelsList.add(c); } // 创建一个返回值对象 EUDataGridResult result = new EUDataGridResult(); // 设置返回结果 result.setRows(ds); // 设置返回的总记录数 PageInfo<User> pageInfo = new PageInfo<User>(ds); result.setTotal(pageInfo.getTotal()); return channelsList; } controller的调用 @Autowired private UserService u; //调用 u.getUser(page,pageSize);
    最新回复(0)