JDBC之分页技术
1、package com.auto.java;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;/*** JDBC之分页技术*@Title *@Description TODO*@param *@return EmpPaging* @author chenchao*@Date 2017-9-12下午5:14:05**/
2、public class EmpPaging { public void findByMysql(int page,int pageSize){ //建立连接 Connection con=null; PreparedStatement pstm=null; ResultSet rs=null;
3、//总记录数 int total=-1; //总页数 int pages=-1; try {con=DBUtil.getCon荏鱿胫协nection();//查询总记录数String sql_toatl="select count(*) from emp"; //分页String sql="select * from emp order by empno limit ?,?"; //执行sql语句pstm=con.prepareStatement(sql_toatl);rs=pstm.executeQuery(); //获取总记录数if (rs.next()) {total=rs.getInt(1);}
4、System.out.println("有"+total+"条数据");//计算多少页int mod=total%page;if (mod==0) {pages=total/pageSize;}else {pages=total/pageSize+1;}//查看页数大于最大页数值或者小于最小值时,做出界限判断if (page>pages) {page=pages;}if (page<1) {page=1;}
5、//执行分页sql语句 pstm= con.prepareStatement(sql); pstm.setInt(1, pa爿讥旌护ge); pstm.setInt(2, pageSize);rs=pstm.executeQuery();//处理结果集while(rs.next()){ System.out.println("ename"+rs.getString("ename")+",sal"+rs.getDouble("sal"));}
6、 } catch (SQLException e) {// TODO Auto-generated catch blockSystem.out.println("连接失败");}finally{DBUtil.closeConnection(con);} }}