java分页查询(oracle)dao样例
来源:互联网 发布:流星网络电视app 编辑:程序博客网 时间:2024/05/29 11:48
/** * 根据用户ID和时间范围查询条件得到相关记录 * @author Bimy * @created 2015年6月23日 * @lastModified * @param empCode 员工ID * @param beginDate 开始时间 * @param endDate 结束时间 * @param currentPage 当前页面 * @param pageSize 每页行数 * @return QueryResult * void */public QueryResult getPayInfoBySearch(String empCode,Date beginDate,Date endDate,int currentPage,int pageSize) throws Exception{QueryResult qr = new QueryResult();String sql = "select * from ... where em.emp_oid='"+empCode+"'"; //根据员工ID设置查询语句String countSql = "select count(*) totalCount from ... where em.emp_oid='"+empCode+"'; //设置查询数目的语句if(beginDate!=null){ //如果有开始时间则加上开始时间约束String bgDate = format.format(beginDate);sql = sql + "and em.cost_datetime>=to_date('"+ bgDate +" 00:00:00', 'yyyy-mm-dd hh24:mi:ss')";countSql = countSql + "and em.cost_datetime>=to_date('"+ bgDate +" 00:00:00', 'yyyy-mm-dd hh24:mi:ss')";}if(endDate!=null){ //如果有结束时间则加上结束书剑约束String edDate = format.format(endDate);sql = sql + "and em.cost_datetime<=to_date('"+ edDate +" 23:59:59', 'yyyy-mm-dd hh24:mi:ss')";countSql = countSql + "and em.cost_datetime<=to_date('"+ edDate +" 23:59:59', 'yyyy-mm-dd hh24:mi:ss')";}Connection conn = DBConnection.getConnection();Statement stmt = conn.createStatement();ResultSet countRS = stmt.executeQuery(countSql);if(countRS.next()) { //根据查询的数目填写分页的页码信息qr.setTotalCount(countRS.getInt("totalCount"));qr.setMaxPage((int)Math.ceil((double)countRS.getInt("totalCount")/(double)pageSize)); qr.setCurrentPage(currentPage);qr.setPageSize(pageSize);if(qr.getMaxPage() < qr.getCurrentPage()){ //若最大可先显示页码小于当前应页码则直接返回return qr;}}else{return null;}//进行分页查询String querySql = "select * from(select * from(select t.*,row_number() over(order by COST_DATETIME desc) as rownumber from("+ sql +") t) p where p.rownumber>"+((currentPage-1)*pageSize)+") where rownum<="+pageSize+"";ResultSet queryRS = stmt.executeQuery(querySql);List<Object> resultList = new ArrayList<Object>();String account ="";String description ="";String payMoney ="";String originalMoney ="";String payTime ="";while(queryRS.next()){ //将查询结果放入VO中PayRecordVO record = new PayRecordVO();account = queryRS.getString("COST_REMAIN");description = queryRS.getString("COST_DESNAME"); ...record.setEmpCode(empCode); ... resultList.add(record);}qr.setResultList(resultList);stmt.close();conn.close();return qr;}
0 0
- java分页查询(oracle)dao样例
- java 分页 dao
- oracle Oracle分页查询
- oracle 数据分页查询
- Oracle分页查询语句
- oracle分页查询
- Oracle分页查询语句
- Oracle分页查询语句
- Oracle分页查询语句
- Oracle的分页查询
- oracle分页查询
- Oracle分页查询
- oracle 分页查询
- Oracle的分页查询
- oracle分页查询
- Oracle分页查询语句
- ORACLE分页查询
- Oracle分页查询语句
- 提升用户体验的三大内链优化方法分析
- Linux 命令行快速进阶(一)常用命令行
- macaddr 自動加 ":" 號
- JDBC连接数据库
- Metaio in Unity3d 教程--- 一. 搭建环境,运行官方案例
- java分页查询(oracle)dao样例
- 深度学习在图像识别中的研究进展与展望【王晓刚】
- 傅里叶变换
- Linux 下的文件加密
- 【插入排序】直接,折半,二路,希尔
- 算法-哈希表
- [漏洞分析] WordPress History Collection <=1.1.1 Arbitrary File Download
- 关闭 Mac 版 Chrome 自动更新的方法
- 学习Python6(临时计算器+字符串编码)