Android数据库GreenDAO3.2.2的使用(一,集成数据库)
来源:互联网 发布:什么叫国内数据流量 编辑:程序博客网 时间:2024/05/18 02:13
由于项目新加入离线功能,因此需要本地数据库,好久没有使用数据库了,就比较各个数据库的优缺点,最终选择了GreenDao。虽说集成时候有些麻烦和一些坑,但是解决问题后,这个数据库还是挺好用的。
一、阅读官方文档对集成还是很有帮助的,GreenDAO的官方文档:http://greenrobot.org/greendao/documentation/
二、添加依赖
1、在项目的Project的build.gradle里的builddscript添加配置mavenCental(),
在dependencies 里添加
classpath'org.greenrobot:greendao-gradle-plugin:3.2.2'
buildscript { repositories { jcenter() mavenCentral() // add repository } dependencies { classpath 'com.android.tools.build:gradle:2.2.3' classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin }}2、在Module:app 里的build.gradle里添加
apply plugin: 'com.android.application'apply plugin: 'org.greenrobot.greendao' // apply plugin3、 Module:app 里的build.gradle下
的
dependencies 里添加dependencies { compile 'org.greenrobot:greendao:3.2.2'}
4、 Module:app 里的build.gradle下的
android 里添加greendao { schemaVersion 1//数据库版本号 daoPackage 'com.yushiji.greendao.gen'//设置DaoMaster、DaoSession、Dao包名 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 //targetGenDirTest:设置生成单元测试目录 //generateTests:设置自动生成单元测试用例}三、创建实体类即创建表
在实体类 上方 写 上 @Entity 即可!然后makeProject就会自动生成set get 方法。
@Entitypublic class User { @Id(autoincrement = true) private Long id; private String name; private String age; private String sex; private String salary;}通过
@Entity
那么这个类便成了数据库中的一张表,而@Id
此表明这是表的主键。当我们build工程之后我们会发现,GreenDAO替我们默认生成了:四、GreenDao中的注释
1、 @Entity 定义实体
@nameInDb 在数据库中的名字,如不写则为实体中类名
@indexes 索引
@createInDb 是否创建表,默认为true,false时不创建
@schema 指定架构名称为实体
@active 无论是更新生成都刷新
2、 @Id 主键 Long型,可以通过@Id(autoincrement = true)设置自增长
3、@NotNull 不为null
4、@Unique 唯一约束
5、 @ToMany 一对多
6、 @OrderBy 排序
7、@ToOne 一对一
8、@Transient 不存储在数据库中
9、 @generated 由greendao产生的构造函数或方法
主键Id的类型和注释在使用过程中还遇到过坑,下篇文章会介绍一下。
更多的操作和更高级的使用,大家可以根据需要去查找资料或者阅读官网,本文有任何问题欢迎大家指正批评。
- Android数据库GreenDAO3.2.2的使用(一,集成数据库)
- Android数据库GreenDAO3.2.2的使用(二,数据库使用)
- Android数据库GreenDAO3.2.2的使用(四、数据库升级)
- GreenDao3.2.2集成使用以及数据库的升级
- Android数据库GreenDAO3.2.2的使用(三,GreenDao操作外部数据库----操作.db数据库)
- Android数据库——GreenDAO3.2.2的使用
- Android数据库GreenDAO3.2.2的使用(五,SQLiteConstraintException因为主键报错)
- Android 数据库(4)-----GreenDao3
- android stdudio 数据库框架greendao3.2使用
- greenDAO的使用详解---(2)greenDAO3.2.2数据库的升级
- (二)GreenDao3.0的数据库升级
- GreenDao3.2数据库使用教程
- Android数据库框架-----GreenDao3的相关使用和版本升级更新
- Android数据库框架——GreenDao3.2的配置 升级
- GreenDao3.0+的配置使用以及数据库升级
- greendao3.0以上使用步骤(三):数据库加密
- greenDAO的使用详解---(3)greenDAO3.2.2数据库的升级bug解决
- greenDAO的使用详解---(4)greenDAO3.2.2结合sqlcipher加密数据库
- 如何不花一分钱在百度科技园过三天
- 100-Same Tree
- 1001.会议安排
- css3中transition的五种效果
- php----stream_select函数用法
- Android数据库GreenDAO3.2.2的使用(一,集成数据库)
- 102-Binary Tree Level Order Traversal
- 大泥球的成长之路
- _tprintf打印中文问题
- OBS窗口捕获黑屏的解决办法
- 103-Binary Tree Zigzag Level Order Traversal
- CSS清除浮动使父级元素展开
- 108-Convert Sorted Array to Binary Search Tree
- css3中scale的效果