科百科
当前位置: 首页 范文大全

greendao数据库升级更新(greendao读取外部数据库)

时间:2023-06-18 作者: 小编 阅读量: 5 栏目名: 范文大全

关于GreenDaogreenDAO是一个将对象映射到SQLite数据库中的轻量且快速的ORM解决方案。下面这个是不用版本升级的代码,对GreenDao的初始化acitivty代码运行结果插入了5条数据,删除了第一条,更新了第二条。若是没有对数据进行升级相关操作而直接更改数据库版本号的话,数据会在项目更新的时候丢失。

关于GreenDao

greenDAO 是一个将对象映射到 SQLite 数据库中的轻量且快速的 ORM 解决方案。

GreenDao的优势

1.一个精简的库

2.性能最大化

3.内存开销最小化

4.易于使用的 APIs

5.对 Android 进行高度优化

GreenDao 3.0使用

API:

1.)实体@Entity注解

schema:告知GreenDao当前实体属于哪个schema

active:标记一个实体处于活动状态,活动实体有更新、删除和刷新方法

nameInDb:在数据中使用的别名,默认使用的是实体的类名

indexes:定义索引,可以跨越多个列

createInDb:标记创建数据库表**

2.)基础属性注解

@Id :主键 Long型,可以通过@Id(autoincrement = true)设置自增长

@Property:设置一个非默认关系映射所对应的列名,默认是的使用字段名举例:@Property (nameInDb=”name”)

@NotNul:设置数据库表当前列不能为空

@Transient:添加次标记之后不会生成数据库表的列

3.)索引注解

@Index:使用@Index作为一个属性来创建一个索引,通过name设置索引别名,也可以通过unique给索引添加约束

@Unique:向数据库列添加了一个唯一的约束

4.)关系注解

@ToOne:定义与另一个实体(一个实体对象)的关系

@ToMany:定义与多个实体对象的关系

android studio 实际项目中使用

1,配置

在project下的gradle里面添加

在app里面添加

创建一个实体类

这里我只是做个demo 就只配了表面和主键

配好了ctrl+F9 编译下当前Module,greedao的插件就会在配置的路径中生成相应的代码,

红线是插件自动生成的,2个没有没有画的,是大神对版本升级时候对数据库的操作。

在app入口初始化,这里我添加了版本升级的代码。

下面这个是不用版本升级的代码,对GreenDao的初始化

acitivty代码

运行结果

插入了5条数据,删除了第一条,更新了第二条。

版本升级的时候,注意当字段改了之后,要更改数据库版本号,若没有的改变的话就不用改。

另外数据库版本升级,demo中使用的是别人写的一个,采用的是把原来的数据拷贝一份然后删除,重新创建数据库,再把数据copy回去。

若是没有对数据进行升级相关操作而直接更改数据库版本号的话,数据会在项目更新的时候丢失。

    推荐阅读
  • gta你可能不知道的细节(GTA系列著名插件CLEO现已支持GTA:三部曲修复GTA:三部曲问题还是得靠民间大神)

    近日,《GTA》系列著名游戏插件CLEO,现已被宣布支持《GTA:三部曲》了。CLEO是应用于老版《GTA:三部曲》的插件,它可以扩展游戏中的编码,让玩家自由创作或修改游戏内容,例如MOD、修改器等。R星本次在《GTA:三部曲》上的失利,已经让粉丝们不太信任他能把游戏改善好,目前已经有大量的玩家开始自制MOD、修复问题,老牌插件CLEO的更新,对于他们来说又是一个好消息,希望R星吸取这次教训,不要再辜负玩家为这个IP献上的热心。

  • 高雅是什么意思(高雅的意思简介)

    跟着小编一起来看一看吧!高雅是什么意思意思是指高尚雅致。表现受过良好教养的高尚举止或情趣。高雅是汉语词汇,拼音是gāoyǎ。与“平庸邪恶”相对;也比喻高尚风雅,与“猥琐粗俗”相对。语出《三国志·魏志·崔林传》:“禀自然之正气,体高雅之弘量。”

  • 元气骑士联机模式怎么单人过(元气骑士远程联机)

    木桩食人花、扭蛋爆炸、以及在近期登场的花园烟花,在满足指定条件后,都会对玩家造成不小的损伤。而这个BUG武器就是:黄金精致法杖与暗黑低语匕首。但所幸正是这种较高的获得难度,才让它在地牢中对玩家造成的影响,并不如上图这把暗黑低语匕首来的大。所以暗黑低语匕首自然也是正确使用方法的,而本期老宅就将它的神器解锁方式告诉大家。所以只要玩家的手速跟得上,暗黑低语匕首自然能够发挥出不亚于一流神器的强大威力。

  • 蒸蛋需要几分钟最佳(蒸蛋需要多久)

    一般的蒸蛋要蒸7-8分钟如果是放在普通的蒸锅上面蒸的话,7-8分钟左右蛋基本已经熟,这时的蛋会比较滑嫩如果放在微波炉里蒸的话,时间控制在六分钟左右,否则的话就容易变老在蒸箱里面中的话时间则更短,五分钟左右就可以了,我来为大家科普一下关于蒸蛋需要几分钟最佳?下面希望有你要的答案,我们一起来看看吧!蒸蛋需要几分钟最佳一般的蒸蛋要蒸7-8分钟。如果放在微波炉里蒸的话,时间控制在六分钟左右,否则的话就容易变老。

  • 西蓝花开花了怎么办(西蓝花开花了怎么解决)

    我们一起去了解并探讨一下这个问题吧!西蓝花开花了怎么办西兰花开花了没有关系,还可以继续吃。西兰花是一种营养价值非常高的蔬菜,开花的西兰花说明已经不太新鲜了,营养物质有一定程度的减少,而且开花的西兰花吃起来,口感也不太好,但是,开花的西兰花中不存在什么毒素,吃了不会对人体有害,还是可以吃的。

  • 蒲公英的花语是什么(蒲公英的花语介绍)

    蒲公英的花语是什么停留不了的爱蒲公英的花语有着停留不了的爱意思。顽强蒲公英还能代表着顽强,它开花之后的种子看起来十分脆弱,风一吹就没了,但是实际上蒲公英的非常顽强的,它的种子随风飘扬,落地就能生根,而且生命力极为顽强。可以用蒲公英来形容性格顽强的人。

  • excel提取单元格颜色函数(如果我说有一个函数可以获取)

    之前的推文,我教了大家如何用通过查找来计算区域中的相同填充色单元格总数,正如大家反馈,那个方式对于颜色较少的简单表格适用,如果比较复杂,就不适合通过手动方式来分别统计一个个颜色了。那么,针对同样的案例,今天我教大家另一种方法,用函数统计。是的,你没看错,统计颜色也有专门的函数。案例:下图1是销售人员的业绩统计表,请分别统计绿色和红色的单元格数量。效果如下图2所示。

  • 微信这四个功能太实用了(微信又添新功能)

    最新消息微信正式推出青少年模式支付限额功能现在,只要将手机更新到微信安卓版本8.0.23后,父母或监护人就可在青少年模式中设置微信支付的限额,包括“每日消费限额”和“单次消费限额”。完成设置后,青少年使用微信支付时,将会受到已设置的额度限制。目前,iOS微信也在逐步覆盖中,更新到微信最新版本即可体验。你还希望微信增添哪些新功能?

  • 宝刀不老的意思(宝刀不老什么意思)

    下面更多详细答案一起来看看吧!宝刀不老的意思宝刀不老,汉语成语,拼音是baodaobulao,意思是比喻虽然年龄已大或脱离本行已久,但功夫或技术并没减退。宝刀不老,出自明·罗贯中《三国演义》第70回:“张郃出马,见了黄忠,笑曰:‘你许大年纪,犹不识羞,尚欲出阵耶?’忠怒曰:‘竖子欺吾年老!吾手中宝刀却不老。’”比喻老将不减当年勇。

  • 计算机病毒是有什么问题(计算机病毒你知道多少)

    计算机病毒是有什么问题计算机病毒的特征、分类与防治。要防止病毒的侵入,就要以预防为主,堵塞病毒的传播途径。②病毒的检测和消除检测和消除病毒的方法有两种,一是人工检测和消除,一是软件检测和消除。