Android 数据库greenDAO基础
来源:互联网 发布:恒生指数看盘软件 编辑:程序博客网 时间:2024/05/16 17:42
一直以来写Android项目用到数据库时都会用到SQLite,现在写一下自己用到的第三方框架 greenDAO的使用
1.greenDAO简介
greenDAO是一个开源的Android ORM使得SQLite数据库开发又有趣。它使开发人员从数据库处理低级需求而节省开发时间。SQLite是一个很棒的嵌入式关系数据库。不过,编写SQL和解析查询结果相当繁琐和耗时的任务。greenDAO释放你从这些通过将Java对象映射到数据库表(称为ORM对象/关系映射)。这样你可以存储、更新、删除和查询的Java对象使用一个简单的面向对象的API。(直接翻译的官方英文简介)
附官方链接:http://greenrobot.org/greendao/
2.greenDAO的特性
1).最大的性能(Android可能最快的ORM);我们的基准是开源易于使用的api覆盖关系和连接
2).最小的内存消耗小库大小(< 100 kb),放低你的构建时间,避免65 k的方法限制
3).数据库加密:greenDAO支持SQLCipher保证用户的数据安全
4).强大的社区:超过5.000 GitHub恒星显示有一种强烈的和活跃的社区
3.GREENDAO 设计的主要特点
1). greenDAO 性能远远高于同类的 ORMLite
2). greenDAO 支持 protocol buffer(protobuf) 协议数据的直接存储,如果你通过 protobuf 协议与服务器交互,将不需要任何的映射。
3). 与 ORMLite 等使用注解方式的 ORM 框架不同,greenDAO 使用「Code generation」的方式,这也是其性能能大幅提升的原因。
4.GreenDao 3.0改动:
使用过GreenDao的同学都知道,3.0之前需要通过新建GreenDaoGenerator工程生成Java数据对象(实体)和DAO对象,非常的繁琐而且也加大了使用成本。
GreenDao 3.0最大的变化就是采用注解的方式通过编译方式生成Java数据对象和DAO对象。
5.核心的classes
DaoMaster:
DaoMaster保存了数据库对象和管理DAO类的classes,其提供了一些静态方法创建和删除表,内部类OpenHelper和DevOpenHelper 实现了SQLiteOpenHelper并创建数据库的框架。
DaoSession:
管理所有可用的DAO对象,可以通过getter方法获得。DaoSession还提供了一些通用的持久性方法比如插入、加载、更新,刷新和删除实体。
DAOs:
数据访问对象,每一个实体类都有对应的greenDAO对象。
Entities:
实体类对象
6.配置
- schemaVersion: 数据库schema版本,也可以理解为数据库版本号
- daoPackage:设置DaoMaster 、DaoSession、Dao包名
- targetGenDir:设置DaoMaster 、DaoSession、Dao目录
- targetGenDirTest:设置生成单元测试目录
- generateTests:设置自动生成单元测试用例
实体@Entity注解
- schema:告知GreenDao当前实体属于哪个schema
- active:标记一个实体处于活动状态,活动实体有更新、删除和刷新方法
- nameInDb:在数据中使用的别名,默认使用的是实体的类名
- indexes:定义索引,可以跨越多个列
- createInDb:标记创建数据库表
基础属性注解
- @Id :主键 Long型,可以通过@Id(autoincrement = true)设置自增长
- @Property:设置一个非默认关系映射所对应的列名,默认是的使用字段名 举例:@Property (nameInDb="name")
- @NotNul:设置数据库表当前列不能为空
- @Transient :添加次标记之后不会生成数据库表的列
索引注解
- @Index:使用@Index作为一个属性来创建一个索引,通过name设置索引别名,也可以通过unique给索引添加约束
- @Unique:向数据库列添加了一个唯一的约束
关系注解
- @ToOne:定义与另一个实体(一个实体对象)的关系
- @ToMany:定义与多个实体对象的关系
- Android 数据库greenDAO基础
- android 数据库之greendao
- Android 数据库 GreenDao使用
- android数据库 greendao:3.1
- Android 数据库 GreenDao
- Android GreenDao数据库
- android数据库——GreenDao
- android数据库ORM框架GreenDao
- Android GreenDao数据库框架使用
- android使用GreenDao操作数据库
- Android使用GreenDao连接数据库
- Android 快速开发数据库greenDao
- Android greenDAO数据库配置教程
- Android greenDAO数据库配置教程
- android sqlite数据库框架greenDAO
- Android数据库ORM框架-greenDAO
- android的存储GreenDao数据库
- Android--------GreenDao数据库的使用
- 关于自定义view中使用的getWidth()和geHeight()方法小结
- 字符数组的输入方式
- 怎么实现PHP的三种HTTP请求模拟post 提交 之二
- jquery ajax 总是报error
- Android环境变量配置
- Android 数据库greenDAO基础
- error LNK2019 : 无法解析的外部符号 __imp____glutInitWithExit@12... ...
- Android中的Menu
- Spring Web Flow2开始状态
- Linux常用命令(27)之源码包安装
- 使用第三方库出现找不到so库UnsatisfiedLinkError错误的原因以及解决方案
- Ehcache和MemCached比较分析
- web flow2 的helloworld
- 解决JSP中文乱码问题