Android工程搭建
ormlite依赖
implementation 'com.j256.ormlite:ormlite-android:5.0'
implementation 'com.j256.ormlite:ormlite-core:5.0'
具体代码
//缓存到本地数据库
val takeoutOpenHelper = TakeoutOpenHelper(loginActivity)
val dao :Dao<User,Int> = takeoutOpenHelper.getDao(User::class.java)
//开启事物
var connection = AndroidDatabaseConnection(takeoutOpenHelper.writableDatabase, true)
var startPoint = connection.setSavePoint("start")
connection.isAutoCommit = false//取消自动提交
try {
//区分新老用户
var isOldUser : Boolean = false
var userList : List<User> = dao.queryForAll()
//提交事物
connection.commit(startPoint)
Log.e("eoerr","事物提交正常")
}catch (e:Exception){
Log.e("eoerr","出现ormlite异常"+e.localizedMessage)
if(connection!=null){
connection.rollback(startPoint)
}
}