GreenDAO的简单使用
来源:互联网 发布:淘宝左轮手抢制作零件 编辑:程序博客网 时间:2024/05/16 15:18
[url]https://github.com/greenrobot/greenDAO
加入依赖
apply plugin: 'com.android.application'compile 'org.greenrobot:greendao:3.2.0'
gradle根文件加入以下代码(注意,在项目的build.gradle中的根目录)
buildscript { repositories { jcenter() mavenCentral() //主要是加这个仓库 } dependencies { classpath 'com.android.tools.build:gradle:2.3.0' classpath 'org.greenrobot:greendao-gradle-plugin:3.2.1' //主要加入的这行代码 }}
使用用法
在application中初始化
GreenDaoManager.getmInstance(this);
创建GreenDAOManager
public class GreenDaoManager { private static GreenDaoManager mInstance; private static DaoSession daoSession; private static DaoMaster daoMaster; private GreenDaoManager(Context context) { //通过 DaoMaster 的内部类 DevOpenHelper,你可以得到一个便利的 SQLiteOpenHelper //注意:默认的 DaoMaster.DevOpenHelper 会在数据库升级时,删除所有的表,意味着这将导致数据的丢失。 DaoMaster.DevOpenHelper devOpenHelper = new DaoMaster.DevOpenHelper(context, "contacts-db",null); //注意:该数据库连接属于 DaoMaster,所以多个 Session 指的是相同的数据库连接。 SQLiteDatabase sqLiteDatabase = devOpenHelper.getWritableDatabase(); daoMaster = new DaoMaster(sqLiteDatabase); daoSession = daoMaster.newSession(); } public static GreenDaoManager getmInstance(Context context){ if (mInstance == null){ synchronized (GreenDaoManager.class){ if (mInstance == null){ mInstance = new GreenDaoManager(context); } } } return mInstance; } public DaoSession getDaoSession(){ return daoSession; } public DaoMaster getDaoMaster(){ return daoMaster; }}
编写实体bean类
@Entitypublic class User { @Id private Long id; private String name; @Transient private int tempData;}
编写好后点击as中build中的make project,会帮助我们生成如下代码
@Entitypublic class User { @Id private Long id; private String name; @Transient private int tempData; @Generated(hash = 873297011) public User(Long id, String name) { this.id = id; this.name = name; } @Generated(hash = 586692638) public User() { } public Long getId() { return this.id; } public void setId(Long id) { this.id = id; } public String getName() { return this.name; } public void setName(String name) { this.name = name; }}
_注解的意思:
@Entity 定义实体
@nameInDb 在数据库中的名字,如不写则为实体中类名
@indexes 索引
@createInDb 是否创建表,默认为true,false时不创建
@schema 指定架构名称为实体
@active 无论是更新生成都刷新
(二) @Id
(三) @NotNull 不为null
(四) @Unique 唯一约束
(五) @ToMany 一对多
(六) @OrderBy 排序
(七) @ToOne 一对一
(八) @Transient 不存储在数据库中
(九) @generated 由greendao产生的构造函数或方法_
greendao的增删改查
**获取dao对象
UserDao userDao = GreenDaoManager.getmInstance(this).getDaoSession().getUserDao();**
增
//创建一个新的用户实体对象 User user = new User(id, name); //插入操作 userDao.insert(user);
删
//根据传入的name先做查找,如果查到的用户不为空则调用删除方法 User findUser = userDao.queryBuilder().where(UserDao.Properties.Name.eq(name)).build().unique(); if (findUser != null) { //根据实体用户的id删除对应的条目 userDao.deleteByKey(findUser.getId()); }
改
//将旧名字改为新名字 private void updataUser(String oldName, String newName) { //获取dao对象 UserDao userDao = GreenDaoManager.getmInstance(this).getDaoSession().getUserDao(); //去数据库中查找对应的数据 User findUser = userDao.queryBuilder().where(UserDao.Properties.Name.eq(oldName)).build().unique(); if (findUser != null) { //查找的数据返回不为空.设置新名字 findUser.setName(newName); //更新数据库 GreenDaoManager.getmInstance(this).getDaoSession().getUserDao().update(findUser); Toast.makeText(this, "修改成功", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "用户不存在", Toast.LENGTH_SHORT).show(); } //刷新列表 myAdapter.notifyDataSetChanged(); }
查
//调用返回一个集合userList = GreenDaoManager.getmInstance(this).getDaoSession().getUserDao().queryBuilder().build().list();
0 0
- GreenDAO的简单使用
- GreenDAO的简单使用
- GreenDao的简单使用
- greendao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- GreenDao的简单使用
- greendao的简单使用1
- GreenDao的简单使用2
- greenDao的简单使用教程
- GreenDao的使用步骤及简单使用
- GreenDao的配置和简单的使用
- GreenDao的简单使用及其介绍
- greenDAO的简单使用(一)
- greenDAO的简单使用(二)
- Android代码练习:国际化
- Java正则表达式—小应用—简易爬虫
- PAT乙级(Basic Level)真题 >A除以B
- Linux下常用的find指令以及其他查找命令
- 全世界只有Erlang是正确的,其他的全错了。
- GreenDAO的简单使用
- poj1003 -- Hangover
- 蓝桥杯-Tricky and Clever Password(java)
- 微信APP浏览器如何引用中文字体
- QQ下拉框截图方法
- Java dom4j 读写xml文件 Demo
- Fiduccia-Mattheyses algorithm(FM算法)
- 算法训练 5-2求指数
- Java的日期与时间(三)计算运行时间