greenDAO 优势

1、一个精简的库
2、性能最大化
3、内存开销最小化
4、易于使用的 APIs
5、对 Android 进行高度优化

GreenDao 3.2使用

GreenDao 3.2采用注解的方式来定义实体类,通过gradle插件生成相应的代码。

一,在app/build.gradle下添加如下配置

apply plugin: 'org.greenrobot.greendao'
compile 'org.greenrobot:greendao:3.2.0'
greendao {schemaVersion 1
    daoPackage "com.admin.greendaodemo.db.gen"
    targetGenDir "src/main/java"
}
  • schameVersion 当前数据库schema的版本号。升级版本时用到,最小值为1,依次递增。
  • daoPackage  生成的Dao类的包名。默认是entities源文件的包名。
  • targetGenDir  生成的文件所存储的位置。默认是:build/generated/source/greendao

二,在整个项目的build.gradle中进行配置:

repositories {mavenCentral()
}
dependencies {    classpath 'org.greenrobot:greendao-gradle-plugin:3.2.0'
}

三,创建一个User的实体类

@Entity
public class User {@Id
    private Long id;
    private String name;
    private String age;
    private String score;
    @Transient
    private int tempUsageCount; // not persisted
}
四,MakeProject

编译项目,User实体类会自动编译,生成get、set方法并且会在

com.admin.greendaodemo.db..gen目录下生成三个文件;

五.GreenDao使用

public class MyApplication extends Application {private DaoMaster.DevOpenHelper mHelper;private SQLiteDatabase db;private DaoMaster mDaoMaster;private DaoSession mDaoSession;public static MyApplication instances;@Override    public void onCreate() {super.onCreate();instances = this;setDatabase();}public static MyApplication getInstances(){return instances;}/*** 设置greenDao*/
private void setDatabase() {// 通过 DaoMaster 的内部类 DevOpenHelper,你可以得到一个便利的 SQLiteOpenHelper 对象。// 可能你已经注意到了,你并不需要去编写「CREATE TABLE」这样的 SQL 语句,因为 greenDAO 已经帮你做了。// 注意:默认的 DaoMaster.DevOpenHelper 会在数据库升级时,删除所有的表,意味着这将导致数据的丢失。// 所以,在正式的项目中,你还应该做一层封装,来实现数据库的安全升级。mHelper = new DaoMaster.DevOpenHelper(this, "notes-db", null);db = mHelper.getWritableDatabase();// 注意:该数据库连接属于 DaoMaster,所以多个 Session 指的是相同的数据库连接。 mDaoMaster = new DaoMaster(db); mDaoSession = mDaoMaster.newSession();
}
public DaoSession getDaoSession() {return mDaoSession;
}
public SQLiteDatabase getDb() {return db;}
}

获取UserDao对象:

  mUserDao = MyApplication.getInstances().getDaoSession().getUserDao();

六.简单的增删改查实现:

1. 增
mUser = new User((long)2,"anye3");
mUserDao.insert(mUser);//添加一个
2. 删
mUserDao.deleteByKey(id);
3. 改
mUser = new User((long)2,"anye0803");
mUserDao.update(mUser);
4. 查
List<User> users = mUserDao.loadAll();
String userName = "";
for (int i = 0; i < users.size(); i++) {userName += users.get(i).getName()+",";
}
mContext.setText("查询全部数据==>"+userName);

更多的操作就不一一介绍了,大家可以根据需要去查找资料;

GreenDao3.2简单使用相关推荐

  1. 关于android相关开发资料的整理

    权限 适配Android6.0动态权限管理 FcPermissions:也许是目前最好的动态权限请求库 Android 开发技巧 - Android 6.0 以上权限大坑和权限检查基类封装 Andro ...

  2. greenDAO与Realm的探索

    最近项目中要用到数据库相关的知识,就在网上查了下Android平台上的数据库框架,目前比较热门有GreenDAO和Realm,这两个都是使用者都比较多,并且都在持续发布更新,就对这两个框架进行了一些探 ...

  3. GreenDao3.0 使用(包括导入,具体方法,基本使用,加密,数据库升级等)

    关于GreenDao greenDao是一个将对象映射到SQLite数据库中的轻量且快速的ORM解决方案.关于greenDAO的概念可以看官网greenDAO greenDAO 优势 1.一个精简的库 ...

  4. GreenDao3.2的基本使用方法

    前言 GreenDao是一款操作数据库的神器,经过了2.0版本的升级后,已经被广泛的开发者使用.确实是很好用,入门简单,可以剩去了数据库的建表操作和数据库SQL的编写,博主用了一次之后爱不释手,和以前 ...

  5. 安卓轻量级数据库框架-GreenDao3.2.2集成方案

    关于ORM的介绍 GreenDao概念 GreenDao设计目标和优点 GreenDao322的集成和使用 1 添加依赖 2 使用GreenDao3注解的语法来定义数据库实体类 定义实体类和主键ID等 ...

  6. 安卓本地轻量级数据库操作框架 greenDao3.2.2 详细教程附带Demo①——集成环境,开辟难题。

    欢迎安卓本地轻量级数据库操作框架 greenDao3.2.2 学习之旅. 本套框架博客系列博客目录: 第一篇:认识 greenDao3.2.2 框架,集成环境,开辟难题. 第二篇:简单的进行 增.删. ...

  7. 在docker上安装部署tomcat项目 超简单,拿来主义

    在docker中部署tomcat,非常简单,而且省去了手动安装jdk等步骤,只需要将war包复制在容器tomcat实例中的webapps下面即可.以下将详细讲解流程: 在windows中打好包以后用w ...

  8. Linux下tomcat的安装与卸载以及配置(超简单)

    无敌简单的几步 1.安装 //首先你需要下载好tomcat包 sudo tar -xvzf apache-tomcat-7.0.85.tar.gz(这里是包名) -C 你要放的位置 2.卸载 rm - ...

  9. Docker安装Apache与运行简单的web服务——httpd helloworld

    Docker运行简单的web服务--httpd helloworld目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker运行简单的web ...

最新文章

  1. 写一个函数days,实现计算本年第几天
  2. 关于遮罩层无效的记录
  3. python单词意思-python 前面几个单词含义
  4. C++11 中值得关注的几大变化
  5. 怎样把颜色转换为字符串
  6. SEPM嵌入式数据库损坏的一种修复方法及sem5.log的缩小方法
  7. [PHP] 运维新增服务器导致的附件上传失败问题
  8. Zookeeper相关知识
  9. 通过运行时单步调试弄清楚[(ngModel)]的双向绑定的工作原理
  10. LOJ.2718.[NOI2018]归程(Kruskal重构树 倍增)
  11. 大数据之-Hadoop3.x_生产调优手册_HDFS读写压测---大数据之hadoop3.x工作笔记0162
  12. Access denied for user ‘ODBC‘@‘localhost‘ (using password: NO) 的解决方法
  13. 5-21 求前缀表达式的值(25分)
  14. 审查元素找不到创建的元素_面试被问:Selenium元素定位不到问题,如何回答?...
  15. [转]响应式web设计之CSS3 Media Queries
  16. utils 定时器 (一) 多级时间轮
  17. plsql如何显示表结构图_如何用PLSQL导出数据库存表结构信息
  18. 联想计算机电源风扇怎样清理,电脑怎么清灰加硅脂 联想笔记本清灰换硅脂图文教程...
  19. js闭包深入理解(Closure)
  20. 打造IPHONE4最全威4.3.2越狱软件兼容性

热门文章

  1. ubuntu下修改中文字体
  2. 需要掌握的八个CSS布局技巧
  3. 编程方法学15:指针要点回顾
  4. gcc选项 和 gdb 使用
  5. 牛客网题目——不用四则运算符号,计算两个数字的和
  6. 二十万字C/C++、嵌入式软开面试题全集宝典九
  7. Ubuntu安装screen
  8. 【图像】插值方法原理(最近邻,双线性,双三,兰索斯)
  9. 专栏 | 基于 Jupyter 的特征工程手册:数据预处理(二)
  10. 6 个核心理念!诠释了吴恩达新书《Machine Learning Yearning》