JDBC+Oracle分页查询


  1. import java.io.IOException;  
  2. import java.sql.Connection;  
  3. import java.sql.DriverManager;  
  4. import java.sql.PreparedStatement;  
  5. import java.sql.ResultSet;  
  6. import java.sql.SQLException;  
  7. import java.util.ResourceBundle;  
  8. import javax.servlet.ServletConfig;  
  9. import javax.servlet.ServletException;  
  10. import javax.servlet.http.HttpServlet;  
  11. import javax.servlet.http.HttpServletRequest;  
  12. import javax.servlet.http.HttpServletResponse;  
  13. import javax.servlet.http.HttpSession;  
  14. public class Session extends HttpServlet {  
  15.     private Connection connection;  
  16.     private PreparedStatement statement;  
  17.     private ResultSet set;  
  18.     public void service(HttpServletRequest request, HttpServletResponse response)  
  19.             throws ServletException, IOException {  
  20.         HttpSession session = request.getSession();  
  21.         session.setAttribute("", session.getId());  
  22.         session.setMaxInactiveInterval(60 * 30);  
  23.         System.out.println(session.getAttribute(""));  
  24.     String sql="select num from (select rownum num from emp where rownum<?) where num>=?";  
  25.     try {  
  26.         ResultSet set=set(17, sql);  
  27.         while (set.next()) {  
  28.             System.out.println(set.getInt(1));  
  29.         }  
  30.     } catch (SQLException e) {  
  31.         // TODO Auto-generated catch block   
  32.         e.printStackTrace();  
  33.     }  
  34.         session.invalidate();  
  35.     }  
  36.       
  37.     public void init() {      
  38.         String driver = getString("db""driver");  
  39.         String url = getString("db""url");  
  40.         String user = getString("db""user");  
  41.         String password = getString("db""password");  
  42.         try {  
  43.             Class.forName(driver);  
  44.         } catch (ClassNotFoundException e) {  
  45.             // TODO Auto-generated catch block   
  46.             e.printStackTrace();  
  47.         }  
  48.         try {  
  49.             connection = DriverManager.getConnection(url, user, password);  
  50.         } catch (SQLException e) {  
  51.             // TODO Auto-generated catch block   
  52.             e.printStackTrace();  
  53.         }  
  54.     }  
  55.     public void destroy() {  
  56.         try {  
  57.             if (set != null) {  
  58.                 set.close();  
  59.             }  
  60.             if (statement != null) {  
  61.                 statement.close();  
  62.             }  
  63.             if (connection != null) {  
  64.                 connection.close();  
  65.             }  
  66.         } catch (SQLException e) {  
  67.             // TODO Auto-generated catch block   
  68.             e.printStackTrace();  
  69.         }  
  70.     }  
  71.   
  72.     private ResultSet set(int page, int rowsPerPage, String sql)  
  73.             throws SQLException {  
  74.         int start = (page - 1) * rowsPerPage + 1;  
  75.         int end = start + rowsPerPage;  
  76.         statement = connection.prepareStatement(sql);  
  77.         statement.setInt(1, end);  
  78.         statement.setInt(2, start);  
  79.         set = statement.executeQuery();  
  80.         return set;  
  81.     }  
  82.     private String getString(String baseName, String key) {  
  83.   
  84.         return ResourceBundle.getBundle(baseName).getString(key);  
  85.     }  
  86. }  
 
  1. <servlet>  
  2.     <servlet-name></servlet-name>  
  3.     <servlet-class>Session</servlet-class>  
  4.     <load-on-startup>0</load-on-startup>  
  5. </servlet>  
  6. <servlet-mapping>  
  7.     <servlet-name></servlet-name>  
  8.     <url-pattern>/</url-pattern>  
  9.     </servlet-mapping> 
 
  1. driver=Oracle.jdbc.driver.OracleDriver  
  2. url=jdbc:oracle:thin:@localhost:1521:wish  
  3. user=scott  
  4. password=tiger

相关内容