zoukankan      html  css  js  c++  java
  • 数据库(批处理, 事务,CachedRawSetImpl类

    链接对象son产生的Statement SQL对象对数据库提交的任何一条语句都会被立刻执行

    不方便我们进行一些连招操作

    我们可以关闭它的自动提交,然后操作完再开,这过程称作事务

    con.setAutoCommit(false);
    //...一番操作
    con.commit()//执行
    con.setAutoCommit(true);//重新开
    //....如果出错,还可以回到过去
            catch(Exception e){
                try{
                    con.rollback();//如果出现问题,调用这个语句回到操作前
                }
                catch(SQLException e){}
                System.out.println(e.getMessage());
                System.out.println("22");
            }

    有人觉得和数据库交互时,Statement对象发福执行execute()方法,很麻烦,所以JDBC提供了批处理的功能

    sql.addBatch("sql语句")
    sql.addBatch("sql语句")
    sql.addBatch("sql语句")
    int []number=sql.executeBatch();//可以一次执行多个语句

    不过批处理过程不允许失败,所有要是先关闭链接对象的自动提交模式,即将批处理作一个事务来对待


    CachedRawSetImpl类

    我们知道ResultSet对象处理Sql语句查询的纪录,他和Statement对象高度耦合

    而且关闭连接后,ResultSet对象将不能保存数据

    避免长时间链接数据库,

    我们可以用实现CachedRowSet接口的CachedRowSetImpl类来保存ResultSet的数据

    CachedRowSet rowSet1=new CachedRowSet();
    rowSet1.populate(一个ResuleSet的实例)
  • 相关阅读:
    uIP的ARP协议分析
    如何使函数不生成执行代码
    计算机网络基础
    [Hive
    [Hive
    [Hive
    [Hive
    [Hive
    [Hive
    [Hive
  • 原文地址:https://www.cnblogs.com/vhyc/p/6051370.html
Copyright © 2011-2022 走看看