dbflow 批量 增删查改
@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 批量 增删查改相关推荐
- MERGE批量增删查改数据
MERGE优点: 在批量处理数据的时候,我可以用到merge一次完成数据处理. 示例代码一: MERGE INTO student AS t using (SELECT '丽水' AS NAME,20 ...
- 8天学通MongoDB——第二天 细说增删查改
2019独角兽企业重金招聘Python工程师标准>>> 看过上一篇,相信大家都会知道如何开启mongodb了,这篇就细说下其中的增删查改,首先当我们用上一篇同样的方式打开mongod ...
- (4) hibernate增删查改+批量操作+类似Mybatis动态sql
简介 采用spring + hibernate + freemaker+ maven搭建起来的一个hibernate增删查改和 类似mybatis动态sql查询的一个案例 增删查改demo + 动态s ...
- java调用js查询mongo_MongoDB增删查改操作示例【基于JavaScript Shell】
本文实例讲述了MongoDB增删查改操作.分享给大家供大家参考,具体如下: MongoDB自带了一个JavaScript Shell,所以在其中使用js语法是可以的. Insert操作: 单条插入 v ...
- MySQL:带你掌握表的增删查改
表的增删查改 Create 单行数据 + 全列插入 多行数据 + 指定列插入 插入否则更新 替换 Retrieve SELECT 列 WHERE 条件 结果排序 筛选分页结果 Update Delet ...
- 【前端】Vue+Element UI案例:通用后台管理系统-用户管理:Table表格增删查改、Pagination分页、搜索框
文章目录 目标 代码 0.结构 1.按钮-删除 2.按钮-编辑 3.debug 4.样式 5.分页Pagination:功能 6.分页Pagination:样式 7.搜索框:功能 8.搜索框:样式 总 ...
- MongoDB入门学习(三):MongoDB的增删查改
对于我们这样的菜鸟来说,最重要的不是数据库的管理,也不是数据库的性能,更不是数据库的扩展,而是怎么用好这款数据库,也就是一个数据库提供的最核心的功能,增删查改. 由于MongoDB存储数据都是以文档的 ...
- Django:数据库表的建立与增删查改(ForeignKey和ManytoMany)
数据库表的创建: 1.Django工程项目建立,基础环境调试. 2.创建表 from django.db import models class Publisher(models.Model): ...
- 【C++ 语言】vector 容器 ( 容器分类 | vector 声明 | vector 初始化 | vector 容器元素增删查改 )
文章目录 序列式容器 vector 简介 vector ( 向量 ) 头文件 vector ( 向量 ) 声明及初始化 vector ( 向量 ) 添加元素 vector ( 向量 ) 查询元素 ve ...
- lr mysql 增删改查_Python对MySQL进行增删查改
#增删查改 from Practice_Recode.UserTest.User importUserimportpymysqldefopenDb():globaldb, cursor db= pym ...
最新文章
- 七号信令:SCCP层简介
- 第十六届智能车竞赛参赛队伍提问-2021-6-15
- [转载]明天的数字营销分析工具2
- 用两个文件a.txt;b.txt.使用linux命令,复制,a.txt文档倒数第十行的记录to b.txt文档
- python开发一个自己的技术网站_手把手教你写网站:Python WEB开发技术实战
- java取网页源码_Java获取任意http网页源代码的方法
- usb管控软件_数据防泄密软件介绍
- jsp在ie6中css的margin属性失效问题
- 图像的输入\输出和显示
- java list判断是否存在字符串_java怎么判断字符串是否存在于list集合中?
- 视频安防监控系统工程设计规范GB 50395-2007
- editplus软件下载地址
- 免杀横向移动工具WMIHACKER
- 中医知识分享之《养生十八伤》
- 方舟:生存进化官服和私服区别
- 剪贴板增强工具CLCL
- 马云:如何组建自己的技术团队
- CSRF---跨站请求伪造
- 【Java面试题】有三个线程 t1,t2,t3,怎么确保它们按顺序执行?
- 就是这么简单,QQ被盗了可以这样找回来!
热门文章
- consul 服务发现 集群 docker 版
- JAVA Maven和ANT 安装 Linux(Ubuntu/Centos),Mac
- JS AES加密与PHP解密
- php5.3 PHP5.4 PHP5.5 php5.6 新特性/使用PHP5.5/PHP5.6要注意的
- Html5 + fromData + Spring MVC 单文件、多文件上传
- mysql创建触发器怎么保存_如何创建使用mysql触发器?
- 阶段3 3.SpringMVC·_01.SpringMVC概述及入门案例_08.RequestMapping注解的作用
- NSString 的常用方法
- java几种远程服务调用协议的比较
- nodejs之querystring模块