DatabaseHelper helper = new DatabaseHelper(this);
// context入参类型为ohos.app.Context,注意不要使用slice.getContext()来获取context,请直接传入slice,否则会出现找不到类的报错。
OrmContext context = helper.getOrmContext("BookStore", "BookStore.db", BookStore.class);
// 没有事务原子化的情况
try{
User user3 = new User();
user3.setFirstName("shiwu1");
user3.setLastName("shiwu1");
user3.setAge(29);
user3.setBalance(100.51);
boolean isSuccessed31 = context.insert(user3);//保存到内存
boolean isSuccessed32 = context.flush();//保存到本地数据库
System.out.println("sSuccessed====>"+isSuccessed31+","+isSuccessed32);
double c=1/0;
OrmPredicates predicates3 = context.where(User.class).equalTo("firstName", "shiwu1");
List<User> u3 = context.query(predicates3);
User u31 = u3.get(0);
u31.setFirstName("修改1");
context.update(u31);
context.flush();
}catch (Exception err){
System.out.println("====>出错了,没有进行数据回滚");
}
// 有事务的情况
context.beginTransaction();
try{
User user4 = new User();
user4.setFirstName("shiwu2");
user4.setLastName("shiwu2");
user4.setAge(29);
user4.setBalance(100.51);
boolean isSuccessed41 = context.insert(user4);//保存到内存
boolean isSuccessed42 = context.flush();//保存到本地数据库
System.out.println("sSuccessed====>"+isSuccessed41+","+isSuccessed42);
double c2=1/0;
OrmPredicates predicates3 = context.where(User.class).equalTo("firstName", "shiwu2");
List<User> u5 = context.query(predicates3);
User u51 = u5.get(0);
u51.setFirstName("修改2");
context.update(u51);
context.flush();
context.commit();
}catch (Exception err){
System.out.println("====>出错了,进行回滚");
context.rollback();
}
//打印结果
OrmPredicates predicates5 = context.where(User.class).equalTo("age", 29);
List<User> u5= context.query(predicates5);
System.out.println("u1r11====>"+u5);
鸿蒙HarmonyOS 对象关系映射数据库ORM 事务
最新推荐文章于 2024-03-26 21:01:38 发布