@ModelContainer
@Table(database = DemoDatabase.class)
class Person extends BaseModel implements Serializable {@PrimaryKey()int uid;@Columnint age;@ColumnString name;........
}

下面例子主要用以上实体类。

1、可以通过增加外键来关联查询

// 比如增加infoId作为外键// 1 查询
// 使用Table类进行字段查询
List<Person> persons = new Select().from(Person.class).where(Person_Table.infoId.eq(infoId)).queryList();// 2 删除
// 可通过写Condition条件进行删除。
SQLCondition condition = Condition.column(Person_Table.infoId.getNameAlias()).eq(infoId);Delete.table(Person.class).where(condition);

2、通过in进行操作。

List<Integer> uidList = new ArrayList<>();
SQLCondition condition = Condition.column(Person_Table.uid.getNameAlias()).in(uidList);// 1 查询
List<Person> persons = new Select().from(Person.class).where(condition).queryList();// 2 删除
Delete.table(Person.class, condition);

dbflow保存操作:

在github 的 issue上有一个bug,上面说,db.reset();后,保存会出现主键是唯一的异常。我更新了beta6后,发现不能使用一个批量保存list的方法了。

即是使用:

new SaveModelTransaction<>(ProcessModelInfo.withModels(peoples)).onExecute();

在save方法上出现如下异常:

android.database.sqlite.SQLiteConstraintException: PRIMARY KEY must be unique
....
....
....

这个相关联的类以及方法,全部在beta6版本中去除。然后只提供了事务管理。

让我们自己去实现事务批量保存,结果可以了。完美兼容。

DatabaseDefinition database = FlowManager.getDatabase(DemoDatabase.class);Transaction transaction = database.beginTransactionAsync(new ITransaction() {@Overridepublic void execute(DatabaseWrapper databaseWrapper) {// todo 处理list保存......}}).build();
transaction.execute();

转载于:https://www.cnblogs.com/CharlesGrant/p/5520840.html

dbflow 批量 增删查改相关推荐

  1. MERGE批量增删查改数据

    MERGE优点: 在批量处理数据的时候,我可以用到merge一次完成数据处理. 示例代码一: MERGE INTO student AS t using (SELECT '丽水' AS NAME,20 ...

  2. 8天学通MongoDB——第二天 细说增删查改

    2019独角兽企业重金招聘Python工程师标准>>> 看过上一篇,相信大家都会知道如何开启mongodb了,这篇就细说下其中的增删查改,首先当我们用上一篇同样的方式打开mongod ...

  3. (4) hibernate增删查改+批量操作+类似Mybatis动态sql

    简介 采用spring + hibernate + freemaker+ maven搭建起来的一个hibernate增删查改和 类似mybatis动态sql查询的一个案例 增删查改demo + 动态s ...

  4. java调用js查询mongo_MongoDB增删查改操作示例【基于JavaScript Shell】

    本文实例讲述了MongoDB增删查改操作.分享给大家供大家参考,具体如下: MongoDB自带了一个JavaScript Shell,所以在其中使用js语法是可以的. Insert操作: 单条插入 v ...

  5. MySQL:带你掌握表的增删查改

    表的增删查改 Create 单行数据 + 全列插入 多行数据 + 指定列插入 插入否则更新 替换 Retrieve SELECT 列 WHERE 条件 结果排序 筛选分页结果 Update Delet ...

  6. 【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Table表格增删查改、Pagination分页、搜索框

    文章目录 目标 代码 0.结构 1.按钮-删除 2.按钮-编辑 3.debug 4.样式 5.分页Pagination:功能 6.分页Pagination:样式 7.搜索框:功能 8.搜索框:样式 总 ...

  7. MongoDB入门学习(三):MongoDB的增删查改

    对于我们这样的菜鸟来说,最重要的不是数据库的管理,也不是数据库的性能,更不是数据库的扩展,而是怎么用好这款数据库,也就是一个数据库提供的最核心的功能,增删查改. 由于MongoDB存储数据都是以文档的 ...

  8. Django:数据库表的建立与增删查改(ForeignKey和ManytoMany)

    数据库表的创建: 1.Django工程项目建立,基础环境调试. 2.创建表 from django.db import models class Publisher(models.Model):    ...

  9. 【C++ 语言】vector 容器 ( 容器分类 | vector 声明 | vector 初始化 | vector 容器元素增删查改 )

    文章目录 序列式容器 vector 简介 vector ( 向量 ) 头文件 vector ( 向量 ) 声明及初始化 vector ( 向量 ) 添加元素 vector ( 向量 ) 查询元素 ve ...

  10. lr mysql 增删改查_Python对MySQL进行增删查改

    #增删查改 from Practice_Recode.UserTest.User importUserimportpymysqldefopenDb():globaldb, cursor db= pym ...

最新文章

  1. 七号信令:SCCP层简介
  2. 第十六届智能车竞赛参赛队伍提问-2021-6-15
  3. [转载]明天的数字营销分析工具2
  4. 用两个文件a.txt;b.txt.使用linux命令,复制,a.txt文档倒数第十行的记录to b.txt文档
  5. python开发一个自己的技术网站_手把手教你写网站:Python WEB开发技术实战
  6. java取网页源码_Java获取任意http网页源代码的方法
  7. usb管控软件_数据防泄密软件介绍
  8. jsp在ie6中css的margin属性失效问题
  9. 图像的输入\输出和显示
  10. java list判断是否存在字符串_java怎么判断字符串是否存在于list集合中?
  11. 视频安防监控系统工程设计规范GB 50395-2007
  12. editplus软件下载地址
  13. 免杀横向移动工具WMIHACKER
  14. 中医知识分享之《养生十八伤》
  15. 方舟:生存进化官服和私服区别
  16. 剪贴板增强工具CLCL
  17. 马云:如何组建自己的技术团队
  18. CSRF---跨站请求伪造
  19. 【Java面试题】有三个线程 t1,t2,t3,怎么确保它们按顺序执行?
  20. 就是这么简单,QQ被盗了可以这样找回来!

热门文章

  1. consul 服务发现 集群 docker 版
  2. JAVA Maven和ANT 安装 Linux(Ubuntu/Centos),Mac
  3. JS AES加密与PHP解密
  4. php5.3 PHP5.4 PHP5.5 php5.6 新特性/使用PHP5.5/PHP5.6要注意的
  5. Html5 + fromData + Spring MVC 单文件、多文件上传
  6. mysql创建触发器怎么保存_如何创建使用mysql触发器?
  7. 阶段3 3.SpringMVC·_01.SpringMVC概述及入门案例_08.RequestMapping注解的作用
  8. NSString 的常用方法
  9. java几种远程服务调用协议的比较
  10. nodejs之querystring模块