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) {
                }
        }
    
    
    }
  • 相关阅读:
    Windows 8实例教程系列 开篇
    qt 开发发布于 windeploy.exe
    qt qoci 测试验证
    vmware vmx 版本不兼容
    qt oracle
    vc qt dll
    QOCIDriver unable to create environment
    qoci 编译完 放置位置 具体根据情况
    calling 'lastError' with incomplete return type 'QSqlError' qsqlquer
    Hbase 操作工具类
  • 原文地址:https://www.cnblogs.com/xianz666/p/13559103.html
Copyright © 2011-2022 走看看