链接对象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的实例)