[Android] Android sqlite事务

Android开发中的SQLite事务处理,即beginTransaction()方法…java

使用SQLiteDatabase的beginTransaction()方法能够开启一个事务,程序执行到endTransaction() 方法时会检查事务的标志是否为成功,若是程序执行到endTransaction()以前调用了setTransactionSuccessful() 方法设置事务的标志为成功则提交事务,若是没有调用setTransactionSuccessful() 方法则回滚事务。事务处理应用:不少时候咱们须要批量的向Sqlite中插入大量数据时,单独的使用添加方法致使应用响应缓慢, 由于sqlite插入数据的时候默认一条语句就是一个事务,有多少条数据就有多少次磁盘操做。如初始8000条记录也就是要8000次读写磁盘操做。同时也是为了保证数据的一致性,避免出现数据缺失等状况。sql

SQLiteDatabase db = dbOpenHelper.getWritableDatabase();
//开启事务
db.beginTransaction();
try{
            //批量处理操做
            //do something
           db.execSQL(“SQL语句”, new Object[]{});
           db.execSQL(“SQL语句”, new Object[]{});
            //设置事务标志为成功,当结束事务时就会提交事务
            db.setTransactionSuccessful();
}
catch(Exception e){
}
finally{
           //结束事务
          db.endTransaction();
}
相关文章
相关标签/搜索