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);