GreenDao 3.2.0 的基本使用
2017-01-21 16:05
441 查看
GreenDao特点
性能最大化,可能是Android平台上最快的ORM框架易于使用的API
最小的内存开销
依赖体积小
支持数据库加密
强大的社区支持
GreenDao有如此多的有点,我们还有什么理由不去使用它呢。
GreenDao配置
在build.gradle(Module:app)中添加下面代码:
buildscript { repositories { mavenCentral() } dependencies { classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1' } } apply plugin: 'org.greenrobot.greendao' dependencies { compile 'org.greenrobot:greendao:3.2.0' }
其他配置
在build.gradle(Module:app)中添加:
greendao { schemaVersion 1//数据库版本号 daoPackage 'com.com.sky.downloader.greendao'//设置DaoMaster、DaoSession、Dao包名 targetGenDir 'src/main/java'//设置DaoMaster、DaoSession、Dao目录 //targetGenDirTest:设置生成单元测试目录 //generateTests:设置自动生成单元测试用例 }
上述配置是可选项,如果不配置,则默认生成在build下:
GreenDao的基本配置就已经完成了,下面我们编写一个实体类。
实体类User
@Entity public class User { @Id(autoincrement = true) private Long id; private String name; private int age; }
相关注解说明:
实体@Entity注解
schema:告知GreenDao当前实体属于哪个schema
active:标记一个实体处于活跃状态,活动实体有更新、删除和刷新方法
nameInDb:在数据库中使用的别名,默认使用的是实体的类名
indexes:定义索引,可以跨越多个列
createInDb:标记创建数据库表
基础属性注解
@Id:主键 Long 型,可以通过@Id(autoincrement = true)设置自增长
@Property:设置一个非默认关系映射所对应的列名,默认是使用字段名,例�磺@Property(nameInDb = "name")
@NotNull:设置数据库表当前列不能为空
@Transient:添加此标记后不会生成数据库表的列
索引注解
@Index:使用@Index作为一个属性来创建一个索引,通过name设置索引别名,也可以通过unique给索引添加约束
@Unique:向数据库添加了一个唯一的约束
关系注解
@ToOne:定义与另一个实体(一个实体对象)的关系
@ToMany:定义与多个实体对象的关系
当我们编写好实体类并添加自己需要的注解之后,点击
Make Project或者
Make Module 'app',就会项目的
build目录下或者自己设定的目录下看到生成的三个类文件:
DaoMaster
DaoSession
UserDao
后面的数据库操作需要借助这三个类来进行,同时在我们的实体类中自动生成了各个属性的
get、
set方法。
初始化GreenDao
一般建议在Application中初始化数据库DevOpenHelper有两个重载方法:
DevOpenHelper(Context context,String name)
DevOpenHelper(Context context,String name,CursorFactory factory)
context上下文这个不用多说,
name数据库的名字,
cursorFactory游标工厂,一般不用,传入
null或者使用两个参数的方法即可。我们对外提供一个
getDaoSession()的方法供外部使用。
增
注意:Long型id,如果传入null,则GreenDao会默认设置自增长的值。insert(User entity):插入一条记录
删
deleteBykey(Long key) :根据主键删除一条记录。delete(User entity) :根据实体类删除一条记录,一般结合查询方法,查询出一条记录之后删除。
deleteAll(): 删除所有记录。
改
update(User entity):更新一条记录
查
loadAll():查询所有记录load(Long key):根据主键查询一条记录
queryBuilder().list():返回:List
queryBuilder().where(UserDao.Properties.Name.eq("")).list():返回:List
queryRaw(String where,String selectionArg):返回:List
总结
至此,GreenDao的基本使用方法就这些了,后面还有一些关于数据的升级等问题,后面再具体介绍。Android开发GreenDao
3.2.0 的基本使用转载http://www.codesocang.com/anzhuoyuanma/boke/34335.html
相关文章推荐
- GreenDao 3.2.0 的基本使用教程
- GreenDao 3.2.0 的基本使用
- GreenDao 3.2.0 的基本使用
- GreenDAO的使用基本篇
- greenDao3的基本使用
- Android GreenDao3.2.0使用
- GreenDao学习以及基本使用(老罗学习总结)
- Android greenDAO 数据库 简单学习之基本使用
- GreenDao基本使用
- Android GreenDao3.2.0如何使用?
- GreenDao 3.2.0使用教程
- [AS2.3.3]greenDao3.2.2基本使用
- GreenDao的使用思路,greendao的基本和概念的讲解
- GreenDao 3.2.0 的基本使用
- greenDao3.0 的基本使用
- [置顶] 最详细GreenDao3.2的基本使用
- android studio中使用GreenDao3.2.0
- greendao3.2.0使用
- GreenDao3的基本使用
- GreenDao基本使用