美文网首页
objectbox使用及对比

objectbox使用及对比

作者: winxx | 来源:发表于2021-07-09 13:08 被阅读0次

一、数据库对比:
1.特性对比


image.png

2.性能对比:

image.png
性能对比使用了官方出的对比demo: https://github.com/objectbox/objectbox-performance

二、各数据库使用了解
1.objectBox数据库
官网:https://objectbox.io/

demo:
https://github.com/objectbox/objectbox-java
https://github.com/objectbox/objectbox-examples

实体创建说明:
https://docs.objectbox.io/entity-annotations
数据库调试:
https://blog.csdn.net/Vxiaocai/article/details/78839732
https://docs.objectbox.io/data-browser

顺便了解下nosql:
https://mp.weixin.qq.com/s/k6IkQmiLNvcG71c_f4iX4Q

2.room数据库
官网:https://developer.android.com/training/data-storage/room
DEMO:
https://github.com/android/architecture-components-samples
https://github.com/gongshijier/RoomDemo

3.realm数据库
官网:https://realm.io/
DEMO:https://github.com/realm
https://mp.weixin.qq.com/s?__biz=MzA5MzI3NjE2MA==&mid=2650238381&idx=1&sn=a0fc72220763166ca2e34519ff2055b3&chksm=88639cc2bf1415d40d466e76945338bc88efae957d63e3ea026c801f05883b485d185ffe0b73&scene=0#rd
https://mp.weixin.qq.com/s/dC7L1yy6WpiNP5i4E3Dg5g

三、ObjectBox基本使用

  1. 按流程接入 https://github.com/objectbox/objectbox-java
    2.参考demo 初始化数据库https://github.com/objectbox/objectbox-examples
    2.创建数据库实体,使用注解 @Entity ,并添加主键注解 @Id 。(官方主键建议long类型据说速度较快)
    3.build生成MyObjectBox
    5.获取BoxStore开启数据库操作

四、数据库变更及版本升级说明:
1.objectbox无版本号。
由default.json文件维护结构变化信息,每次有表或字段变更, 都需要重新make project 自动更新default.json文件,该文件需要提交git维护;此时同时会自动生成default.json.bak为修改前的文件备份。
2.新增表、字段;删除表、字段。
直接新增、删除,只需要make project后default.json会自动维护变更。
3.修改已有的表、字段名。
每个表、字段有一个属于自己的uid。修改已有的表、字段名仅make project,所修改字段会重新生成uid,这样会被当做新增表、字段来对待;若想要使用原字段仅修改字段名,需要添加@Uid(9204131405652381067L)让编译后还是使用原来字段的uid(9204131405652381067L为原字段uid值)
4.修改字段类型。
不能直接修改字段类型,需要时按照官方提供两种方法操作:
https://docs.objectbox.io/advanced/data-model-updates
(基于方法1个人理解可以先新增一个字段,更新文件,再删除原有的,更新文件。这样原字段的uid会进入retiredPropertyUids。新字段有新的uid,就不会相互干扰。不过暂未验证)

五、踩坑集锦

1.Entity实体表结构需要有无参构造函数
https://docs.objectbox.io/entity-annotations

2.objectbox是用default.json文件来管理版本控制的,有结构修改都需要build这个文件,且这个文件需要提交svn管理维护。若同时有两个人修改造成冲突,可以先用其中一个的,合并完代码再重新build。
https://docs.objectbox.io/advanced/meta-model-ids-and-uids

3.官方提供了帮助数据库浏览的插件data-browser,但是这个插件会添加extractNativeLibs="false"有可能会和加固策略冲突 导致加固后异常。参考链接说明处理
https://docs.objectbox.io/data-browser
https://docs.objectbox.io/faq

相关文章

  • objectbox使用及对比

    一、数据库对比:1.特性对比 2.性能对比: 性能对比使用了官方出的对比demo: 二、各数据库使用了解1.obj...

  • ObjectBox数据库使用说明

    如何使用ObjectBox 一、搭建ObjectBox环境1.在根目录的build文件中添加 在app.build...

  • ObjectBox在Android中的使用

    ObjectBox官网 提要 因为最近做个小项目需要用到数据库,考虑使用ObjectBox。因为还是测试版,网上真...

  • Android ObjectBox

    Github地址:objectbox/objectbox-java官网objectbox参考文档 Gradle s...

  • ObjectBox使用简记

    这两天听朋友说起了最近Android出来了一个NoSql数据库ObjectBox,怀揣着好奇就建了一个Androi...

  • ObjectBox使用(一)

    项目经理大大又提出了新的需求,那作为程序员就只能埋头敲(复制?)代码了博主水平有限,目前还处于填坑之中,如有错误以...

  • ObjectBox的使用

    添加依赖 在整个项目的build.gradle里添加 在app的build.gradle里添加 如果是kotlin...

  • Java - Android GreenRobot新作:Obje

    GreenRobot新作 - ObjectBox ​ObjectBox是GreenRobot的新作NoSQL存储系...

  • ObjectBox 的高级使用

    根据条件查询 查询对象的复用 先初始化查询对象: 设置查询对象的参数后再查询: 集成 RxJava 先依赖: 最简...

  • ObjectBox 使用指南

    转自: https://juejin.cn/post/6844903618676523022[https://ju...

网友评论

      本文标题:objectbox使用及对比

      本文链接:https://www.haomeiwen.com/subject/sdnknhtx.html