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.getConnection(); //查询总记录数 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, page); 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 block System.out.println("连接失败"); }finally{ DBUtil.closeConnection(con); } }}
