iLeichun

当前位置: 首页 > J2EE

Java通过JDBC调用MYSQL存储过程实现分页

分类:J2EE   来源:网络   时间:2010-11-05 23:21:49

本文的代码讲解Java通过JDBC调用MYSQL存储过程实现分页,存储过程的一个特点是运行效率较高。

  1. import java.sql.CallableStatement;   
  2. import java.sql.Connection;   
  3. import java.sql.DriverManager;   
  4. import java.sql.ResultSet;   
  5. import java.sql.SQLException;   
  6. import org.junit.Test;   
  7.   
  8. public class Test2 {   
  9.   
  10.     @Test  
  11.     public void test() throws SQLException {   
  12.         Connection conn = null;   
  13.         ResultSet rs = null;   
  14.         CallableStatement cstmt = null;   
  15.         try {   
  16.             Class.forName("com.mysql.jdbc.Driver");   
  17.             conn = DriverManager.getConnection(   
  18.                     "jdbc:mysql://localhost/test",   
  19.                     "root""root");   
  20.             cstmt = conn.prepareCall("{call pro_pager(?,?,?,?,?)}");   
  21.             cstmt.setInt(1111111111);   
  22.             cstmt.setInt(21);   
  23.             cstmt.setString(3"select * from student");   
  24.             cstmt.registerOutParameter(41);   
  25.             cstmt.registerOutParameter(51);   
  26.             cstmt.execute();   
  27.             System.out.println("共" + cstmt.getObject(4) + "条");   
  28.             System.out.println("共" + cstmt.getObject(5) + "页");   
  29.             rs = cstmt.getResultSet();   
  30.             while (rs.next()) {   
  31.                 System.out.print(rs.getString("id") + "----");   
  32.                 System.out.print(rs.getString("name") + "----");   
  33.                 System.out.println(rs.getString("age"));   
  34.             }   
  35.         } catch (ClassNotFoundException e) {   
  36.             e.printStackTrace();   
  37.         } catch (SQLException e) {   
  38.             e.printStackTrace();   
  39.         } finally {   
  40.             cstmt.close();   
  41.             conn.close();   
  42.         }   
  43.     }   
  44. }  
更多