文档章节

greendao使用

GoldenVein
 GoldenVein
发布于 2017/08/02 19:33
字数 472
阅读 23
收藏 0

##greendao ##1.greendao是什么 greendao

##2.性能 输入图片说明

不仅如此,其优点还包括有以下几点
存取速度快
支持数据库加密
轻量级
激活实体
支持缓存
代码自动生成

##3.使用 ###配置 1.在Project工程build.gradle里加入如下配置

 classpath 'org.greenrobot:greendao-gradle-plugin:3.1.0'
 
 allprojects {
	repositories {
    jcenter()
	}
}

2.在Module里build.gradle里加入如下配置

apply plugin: 'org.greenrobot.greendao'

compile 'org.greenrobot:greendao:3.1.0'

 greendao {
    schemaVersion 1                             
}

###创建User对象

@Entity
public class User {
@Id
private Long id;
private String name;
@Transient
private int tempUsageCount; // not persisted
}
@Entity:告诉GreenDao该对象为实体,只有被@Entity注释的Bean类才能被dao类操作

@Id:对象的Id,使用Long类型作为EntityId,否则会报错。(autoincrement = true)表示主键会自增,如果false就会使用旧值

@Property:可以自定义字段名,注意外键不能使用该属性

@NotNull:属性不能为空

@Transient:使用该注释的属性不会被存入数据库的字段中

@Unique:该属性值必须在数据库中是唯一值

###编译项目 1 . 生成DaoMaster.java GreenDao的顶级对象,作为数据库对象、用于创建表和删除表 DevOpenHelper:创建SQLite数据库的SQLiteOpenHelper的具体实现 2 . 生成DaoSession.java 管理所有的Dao对象,Dao对象中存在着增删改查等API 3 . 生成UserDao.java 实体类生成了get和set方法 ###调用方法 User mUser; List<User> mList; 1. 增 增加单个数据 getUserDao().insert(mUser); getUserDao().insertOrReplace(mUser);

	增加多个数据 
	getUserDao().insertInTx(mList);
	getUserDao().insertOrReplaceInTx(mList);
2. 删
	删除单个数据 
	getUserDao().delete(mUser);
	
	删除多个数据 
	getUserDao().deleteInTx(mList);
	
	删除数据ByKey 
	getTABUserDao().deleteByKey(id);
3. 改
	修改单个数据 
	getUserDao().update(mUser);
	修改多个数据 
	getUserDao().updateInTx(mList);
4. 查
	查询全部 
	getUserDao().loadAll();
	getUserDao().queryBuilder().list();
	
	查询附加单个条件 
	.where()
	.whereOr()
	
	查询附加多个条件 
	.where(, , ,)
	.whereOr(, , ,)
	
	查询附加排序 
	.orderDesc()
	.orderAsc()
	
	查询限制当页个数 
	.limit()
	
	查询总个数 
	.count()

© 著作权归作者所有

共有 人打赏支持
GoldenVein
粉丝 6
博文 110
码字总数 23672
作品 0
朝阳
程序员
「Android」GreenDao

版本:greenDAO 3.2.2 官网:http://greenrobot.org/greendao/ GitHub:https://github.com/greenrobot/greenDAO 写在前面: 这个库极大的优化了我们使用SQLite数据库,但对SQLite数据库及其语...

为安然
07/30
0
0
在gradle中使用greenDao引发的多重编译错误

在Android Studio中使用greenDao,编译时会报错 Gradle抛出部分异常如下 com.android.dex.DexException: Multiple dex files define 使用: gradlew -q dependencies 可以看到greenDao中引用了......

Linktime
2015/03/04
0
0
Android:greenDao与Parcelable使用总结

greenDao与Parcelable都可以实现对Object数据的存储。 1. greenDao greenDAO是一个可以帮助Android开发者快速将Java对象映射到SQLite数据库的表单中的ORM解决方案,通过使用一 个简单的面向对...

mengyrlind
2014/09/10
0
0
Android Orm框架(GreenDao)

android项目里面很多都会有使用sqlite来保存数据。原生api真心不好使啊,要写超多超多的代码,还要写顾虑很多细节问题。于是乎就想偷懒了,干脆去网上找个orm框架吧! Ok,google it。筛选一...

iuKa
2014/03/13
0
0
Android解决下载依赖慢的问题

背景 --- 尝试使用greendao进行开发一个app玩,使用android studio 开发 冲突 --- IDE中看到gradle卡在了下载greendao依赖的地方。 问题 --- 如何解决? 答案 --- 第1步:检查gradle有没有设...

樂天
06/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

play framework 如何支持多数据源

有段时间没有写博客了,但今天又写一篇了,主要是因为这事有一丝自己的思考和动手实践,所以就记录下来了。 现有的问题: play 1.2.4 两台数据库服务器,但是play1.2.4 并不支持同时连接两台...

tuerqidi
16分钟前
0
0
Mysql only_full_group_by解析

查看当前数据库模式: select @@sql_mode; 原因: mysql 5.7中的sql_mode的值中包含'ONLY_FULL_GROUP_BY'; 处理:执行以下SQL set GLOBAL sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,N......

年轻的中年大叔
17分钟前
0
0
防止表单重复提交

1:前端方式(治标不治本) $("#admin-role-save").click(function(){//admin-role-save为submit的idvar ts=$(this);var ts_old_val=ts.val();ts.val("提交中....");ts.att...

uug
18分钟前
0
0
保持屏幕常亮

getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON, WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 在act的created方法中调用即可,一般是播放视频的时候......

Carbenson
18分钟前
0
0
智能合约实施指南

与区块链技术一样,智能合约在商业领域也非常有价值。 为了让我们的读者彻底了解智能合约是什么以及它们如何影响现代商业的交易方式,我们准备了本指南。 集中商业模式正在给去中心化的模式让...

geek12345
20分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部