greendao的简单使用1
来源:互联网 发布:淘宝嘉定仓库 编辑:程序博客网 时间:2024/06/01 07:38
GreenDao的简单使用
GreenDao是一个开源的基于SQLite数据库ORM(对象关系映射).我们在使用SQLite进行数据的缓存与读取,需要自己书写CRUD语句,还要将读取的数据进行转化为java对象,亦或者将java对象转化为数据库存储的一条条记录,这对于不是很熟悉SQL语句的android开发者来说实属不易.当然GreenDao存在的更大的意义是,通过简单的几行代码,就能够自动完成java对象与数据库表之间的链接,从而大大的节省了开发者的时间
特性
- 最好用的安卓ORM工具
- 强大的APIs支持
- 很小的内存开销
- 引入的jar包体积很小
- 使用了SQLCipher,保证数据库数据安全
- 其他不用多说了,使用的人多了,自然性能是经得起考验的
具体使用(greendao版本为:3.2.2,使用的IDE为AndroidStudio)
1.在build.gradle(app)下引入库的依赖
apply plugin: 'com.android.application' apply plugin: 'org.greenrobot.greendao' // 生成一个module(library) android { ...... } //初始化数据库 greendao { schemaVersion 1 //数据库版本 daoPackage 'com.leer.greendaotest.gen'//生成的DAOs, DaoMaster, 和DaoSession存放的包名 targetGenDir 'src/main/java' //上面的daoPackage在工程中存放的位置 } dependencies { ...... compile 'org.greenrobot:greendao:3.2.2' // 添加greendao的jar包依赖,会自动进行下载 }
2.在build.gradle(project)下添加greendao插件依赖
buildscript { repositories { jcenter() } dependencies { ...... classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // 添加插件 } }
3.创建数据库当中的表(table)对应的实体(Entity)
@Entity public class Student { @Id(autoincrement = true) private Long id; @Property private String studentName; @Property(nameInDb = "sex") private String studentSex; @Transient private String isChecked; }
- @Entity:代表Student类映射到数据库当中的一个表,表名叫做”Student”;其实我们可以换个角度来看,每张表下面都是一条条的记录,每一条记录包含了单个Student的各种属性,那么一个Student对象就映射到数据库Student表下面的一条条记录.
- @Id:对应主键,autoincrement = true,代表自增长,在向数据库中插入值得时候我们不必要为这个字段赋值
- @Property:顾名思义,就是属性,相当于表中的一个个列名,当然Id也是列,只是它是主键列;nameInDb = “sex”:数据库当中的sex对应于实体类当中的studentSex;
- @Transient:这个字段不会被写入到数据库,只是作为一个普通的java字段用来临时存储数据的,不会被持久化存到数据库当中去
- 对应的注解还有好多,这里只罗列一些简单常常用到的
- 更多注解说明请移步:http://m.blog.csdn.net/kongxingxing/article/details/5205233
使用
准备工作已经都准备完了,接下来该使用了.使用很简单—-> build -> Make Project,接下来神奇的事情发生了,看看你的项目目录:
点击Make Project之前:
点击Make Project之后:
可以看到多了三个自动生成的类:DaoMaster、DaoSession、StudentDao
这三个类有什么用呢:
- DaoMaster : 包含一个继承自 OpenHelper 的内部类,完成对数据库的创建,更新;创建数据库当中的表(table)等等;又被称作会话层,和SQLiteDatabase进行会话
- DaoSession : 管理Daos的class文件;也包含了一些基础的增删改查的方法
- XXXDao : 数据访问对象,每一张表格对应一个Entity实体类,dao就是访问一张具体表 格下面的数据的对象
DaoMaster.DevOpenHelper openHelper = new DaoMaster.DevOpenHelper(this, "students.db",null); Database database = openHelper.getWritableDataBase(); //将database传入daomaster创建daomaster对象 DaoMaster daoMaster = new DaoMaster(database); //创建DaoSession对象,其实通过DaoSession对象,我们也可以完成对数据的增删改查了,但是利用XXXDao对象,方法会更加的全面 DaoSession daoSession = daoMaster.newSession(); //获取每一张表格的数据访问对象 StudentDao studentDao = daoSession.getStudentDao(); Student student = new Student(); student.id = 1001; student.name = 张三; student.sex = male; //插入数据 studentDao.insert(student);
StudentDao还有update(),delete(),query()等等的方法,如需了解更多,请查看我的 GreenDao的简单使用2 就先写到这里了..
阅读全文
0 0
- greendao的简单使用1
- GreenDAO的简单使用
- GreenDAO的简单使用
- GreenDao的简单使用
- greendao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用2
- greenDao的简单使用教程
- GreenDao的使用步骤及简单使用
- GreenDao的配置和简单的使用
- GreenDao的简单使用及其介绍
- greenDAO的简单使用(一)
- greenDAO的简单使用(二)
- 对于sizeof()和strlen()的深入理解
- 集合(2)把一个list集合中特定字段插入到另一个集合的特定字段中
- 数据仓库--数据仓库与数据集市建模
- tp3.2中企业向个人微信钱包零钱付款
- LeetCode——595. Big Countries(mysql)
- greendao的简单使用1
- Redis 数据类型详解及 应用环境
- PopWindows背景半透明设置
- 利用差分实现的树状数组区间修改 区间求和
- SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
- Error:A problem was found with the configuration of task ':app:packageBAIDURelease'.
- 集合(3)把一个集合插入到另一个集合中
- Android之获取证书文件(pfx格式)的公钥和私钥
- 单项链表之创建