zoukankan      html  css  js  c++  java
  • java中游标

    package YouBiao;
    
    import java.sql.Connection;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    public class YouBiaoTest {
        /**
        * 一次只从数据库中查询最大maxCount条记录
        * @param sql 传入的sql语句
        * @param startNo 从哪一条记录开始
        * @param maxCount 总共取多少条记录
        */
        public void getData(String sql,int startNo,int maxCount){
        
         try {
             Connection conn = ConnectionUtil.getConnection();
        //  conn.prepareStatement(sql,游标类型,能否更新记录);
        //   游标类型:
    //        ResultSet.TYPE_FORWORD_ONLY:只进游标
    //        ResultSet.TYPE_SCROLL_INSENSITIVE:可滚动。但是不受其他用户对数据库更改的影响。
    //        ResultSet.TYPE_SCROLL_SENSITIVE:可滚动。当其他用户更改数据库时这个记录也会改变。
        //   能否更新记录:
    //        ResultSet.CONCUR_READ_ONLY,只读
    //        ResultSet.CONCUR_UPDATABLE,可更新
          PreparedStatement pstat = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
          //最大查询到第几条记录
          pstat.setMaxRows(startNo+maxCount-1);
          ResultSet rs = pstat.executeQuery();
          //将游标移动到第一条记录
          rs.first();
        //  游标移动到要输出的第一条记录
          rs.relative(startNo-2);
          while(rs.next())
          System.out.println(rs.getInt(1));
         } catch (Exception e) {
          e.printStackTrace();
         }
        }
        /**
        * 从数据库中查询所有记录,然后通过游标来获取所需maxCount条记录
        * @param sql 传入的sql语句
        * @param startNo 从哪一条记录开始
        * @param maxCount 总共取多少条记录
        */
        public void getDataFromAll(String sql,int startNo,int maxCount){
        
         try {
          Connection conn = ConnectionUtil.getConnection();
          PreparedStatement pstat = conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
          ResultSet rs = pstat.executeQuery();
          rs.first();
          rs.relative(startNo-1);
          int i = startNo-1;
          while(i < startNo + maxCount-1 && !rs.isAfterLast()){
          System.out.println(rs.getInt(1));
          i++;
          rs.next();
          }
         } catch (Exception e) {
          e.printStackTrace();
         }
        }
    }
    
    
    //==========工具类
    package YouBiao;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.Properties;
    
    public class ConnectionUtil {
        private static String driver;
        private static String uri;
        private static String user;
        private static String password;
     
        static {
            Properties props = new Properties();
            try {
                props.load(ConnectionUtil.class.getClassLoader()
                        .getResourceAsStream("properties文件路径"));
                driver = props.getProperty("driver");
                uri = props.getProperty("uri");
                user = props.getProperty("user");
                password = props.getProperty("password");
                Class.forName(driver);
            } catch (Exception e) {
            }
        }
     
        /**
         * 获得Connection对象
         * @return
         * @throws Exception
         */
        public static Connection getConnection() throws Exception {
            Connection con = DriverManager.getConnection(uri, user, password);
            return con;
        }
     
        /**
         * 关闭ResultSet对象
         * @param rs
         */
        public static void closeResultSet(ResultSet rs) {
            if (rs != null)
                try {
                    rs.close();
                } catch (SQLException e) {
                }
        }
     
        /**
         * 关闭Statement对象
         * @param stmt
         */
        public static void closeStatement(Statement stmt) {
            if (stmt != null)
                try {
                    stmt.close();
                } catch (SQLException e) {
                }
        }
     
        /**
         * 关闭Connection对象
         * @param con
         */
        public static void closeConnection(Connection con) {
            if (con != null)
                try {
                    con.close();
                } catch (SQLException e) {
                }
        }
    
    
    }
  • 相关阅读:
    Sort it
    set 集合容器
    convertToString与ToString的区别
    string基本字符系列容器
    辗转相除法
    进程的总结
    进程池进阶
    进程池
    生产者消费者模型
    IPC :进程之间的通信
  • 原文地址:https://www.cnblogs.com/xianz666/p/13523662.html
Copyright © 2011-2022 走看看