spring roo 开发meavn项目(三)分页读取数据示例
来源:互联网 发布:java布尔类型的题目 编辑:程序博客网 时间:2024/06/03 11:56
读取表格数据中经常会用到分页功能,前端传入页码,每页显示条数,从数据库中取出相应条数据,返回到service层,进行处理。
这里新建了一个数据分页的类,用于存储分页相关参数和查询出的数据
package com.collegepatent.util;import java.util.List;/** * 分页专用类 * * @author xc * */public class PageUtil<T> {private int pageSize;private int pageNumber;private int pageTotal;private List<T> rows;public int getPageSize() {return pageSize;}public void setPageSize(int pageSize) {this.pageSize = pageSize;}public int getPageNumber() {return pageNumber;}public void setPageNumber(int pageNumber) {this.pageNumber = pageNumber;}public int getPageTotal() {return pageTotal;}public void setPageTotal(int pageTotal) {this.pageTotal = pageTotal;}public List<T> getRows() {return rows;}public void setRows(List<T> rows) {this.rows = rows;}}
在DAO层查询数据,这里以Inventor类的查询为例
public static PageUtil searchInventor(String universityid, int pageSize, int pageNumber) {String sqlstr = " ";String sqlcount = "SELECT count(*) ";String sql = "SELECT Inventor ";sqlstr = "from Inventor Inventor where Inventor.university='" + universityid + "'";PageUtil pu = new PageUtil();pu.setPageSize(pageSize);pu.setPageNumber(pageNumber);int total = entityManager().createQuery(sqlcount + sqlstr, Long.class).getSingleResult().intValue();TypedQuery<Inventor> inventorQuery = entityManager().createQuery(sql + sqlstr, Inventor.class);inventorQuery.setFirstResult(pu.getPageSize() * (pu.getPageNumber() - 1)).setMaxResults(pu.getPageSize());pu.setPageTotal(total);pu.setRows(inventorQuery.getResultList());return pu;}
/** * description: 根据条件查询发明人 * * @author xc */public Map<String, Object> searchInventor(String universityid, int pageSize, int pageNumber) {PageUtil<Inventor> pu = Inventor.searchInventor(universityid, pageSize, pageNumber);Map<String, Object> map = new HashMap<String, Object>();SimpleDateFormat dateFormatter = new SimpleDateFormat("yyyy-MM-dd");List<Map<String, Object>> inventorlist = new ArrayList<Map<String, Object>>();for (Inventor inventor : pu.getRows()) {Map<String, Object> inventorMap = new HashMap<String, Object>();inventorMap.put("inventorid", inventor.getInventorid().toString());inventorMap.put("jobnumber",inventor.getJobnumber());inventorMap.put("namecn", inventor.getNamecn());inventorMap.put("nameen", inventor.getNameen());inventorMap.put("addresscn", inventor.getAddresscn());inventorMap.put("registertime", dateFormatter.format(inventor.getRegistertime()));inventorlist.add(inventorMap);}map.put("rows", inventorlist);map.put("total", pu.getPageTotal());return map;}
0 0
- spring roo 开发meavn项目(三)分页读取数据示例
- spring roo 开发meavn项目(一)使用工具搭建项目
- spring roo 开发meavn项目(二)后台返回map,list自动转换json格式
- spring roo 开发meavn项目(四)文件操作:上传,下载,本地复制,删除文件
- spring roo 开发meavn项目(五)后台发送邮件功能
- spring roo 开发meavn项目(六)文件夹及子文件夹下载
- Spring Roo开发初评
- Spring Roo开发初评
- 使用Spring Roo构建项目
- Spring ROO
- Spring Roo框架开发注意点
- Spring Roo 实站( 一 )部署安装 & 第一个示例程序
- Spring Roo 实站( 一 )部署安装 & 第一个示例程序
- meavn--Web开发神器
- Spring项目开发笔记系列(三)
- 使用Vaadin和Spring Roo进行敏捷应用开发
- 使用Vaadin和Spring Roo进行敏捷应用开发
- RAD 极速应用开发 Spring ROO 入门例子
- OCX和DLL的区别
- 时间换算-week2-C语言习题集
- 2016多校2 1008 乱搞
- 遍历
- Sql Server 中一个非常强大的日期格式化函数常用
- spring roo 开发meavn项目(三)分页读取数据示例
- HDU2421 质因数分解、唯一分解定理
- 黑马程序员:Android7.0终极开发者预览版全攻略!
- ios 下拉刷新,下拉加载数据 利用第三方
- swfupload上传在firefox报错解决方案
- Leetcode 102. Binary Tree Level Order Traversal (Easy) (cpp)
- 经典闭包
- zookeeper注册中心安装(linux)
- facebook登录功能xml文件中application Id的配置问题