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);
Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐