GreenDao_基本配置和使用

核心类介绍

1.DaoMaster
它持有数据库对象(SQLiteDataBase),并且提供了创建和删除表的静态方法。有两个内部类,OpenHelper、DevOpenHelper实现SQLiteOpenHelper,用来创建数据库表结构。
2.DaoSession:
DaoSession用来管理Dao对象,可通过get方法,获取XXDao对象,进行对表的基本操作。DaoSession本身也提供了一些基本的持久性方法,例如:插入,删除,更新等。
3.Dao
实体访问对象,对每个实体xx,GreenDao会生成一个xxDao对象,该对象有更多的持久方法,可以对表进行操作,例如:count,loadAll和insertInTx。
4.实体类:
持久对象,通常采用标准的java属性(如javaBean)来标识数据库对象。

GreenDao相关配置

1.在工程目录的build.gradle下添加仓库和插件

       mavenCentral()
        
       classpath 'org.greenrobot:greendao-gradle-plugin:3.3.0'

配置图如下:
在这里插入图片描述
2.在app目录的build.gradle下添加相关库

plugins {
    id 'com.android.application'
    id 'org.greenrobot.greendao'
}
dependencies {
    implementation 'org.greenrobot:greendao:3.3.0'
    implementation 'org.greenrobot:greendao-generator:3.3.0'
}

配置图如下:
在这里插入图片描述
注意:添加库依赖和插件依赖,版本保持一致,不然可能会报错。

3.GrenDao版本,生成核心类路径配置

greendao {
    schemaVersion 2    //数据库版本 ,
    daoPackage 'com.zheng.greendaodemo.green'    //可指定自动生成类的路径
    targetGenDir 'src/main/java'
}

------------------------------到这里GreenDao的基本配置就Ok了------------------------------

GreenDao基本使用

1.首先定义一个实体类,注意使用@Entity 标识

@Entity
public class Animals {
    @Id(autoincrement = true)
    private  Long id;             //ID 设置自增长
    private String name;      //名称
    private String age;         //年龄
    private String color;       //颜色
    private String address;  //地址
    }

创建完之后,标题栏Build-Mack Project(ctr+F9),或者有个绿色小锤子,如图:
在这里插入图片描述
make project之后,有两个变化
(1).实体类:会自动生成一个有参构造方法和一个无参构造方法,并为属性添加get和set方法,如图:
在这里插入图片描述
(2).在src/main/java/包下面,会自动生成前面介绍的类,Master、Session、Dao。(DataOpenHelper,MigrationHelper请忽略,这个是自己添加的自动升级的类)如图:
在这里插入图片描述
注:实体类中如果有部分属性不想写入数据库,可以查看相关限制。

2.实例化DataOpenHelper、DaoMaster、DaoSession,获取Session,从而获取Dao操作类。可以自己封装一个单例获取。

    DataOpenHelper dataOpenHelper = new DataOpenHelper(sContext, "test", null);
    DaoMaster daoMaster = new DaoMaster(dataOpenHelper.getWritableDb());
    DaoSession daoSession = daoMaster.newSession();
    AnimalsDao animalsDao = daoSession.getAnimalsDao();

获取到的animalsDao对象,就可以对其进行增删给查操作。

基本增删改查操作

(1).插入:
例如:插入猫,颜色白色,地址xx1巷2号

 Animals animal = new Animals(null,"猫","white","xx1巷2号");
  mAnimalsDao.insert(animal);

(2).删除:
例如:根据条件删除Name 字段为”猫“的记录

mAnimalsDao.queryBuilder().where(AnimalsDao.Properties.Name.eq("猫")).buildDelete().executeDeleteWithoutDetachingEntities();

(3).更新
例如:将Name字段为猫的age字段更新为100

Query<Animals> unique = mAnimalsDao.queryBuilder().where(AnimalsDao.Properties.Name.eq("猫")).build();
                for (Animals animals : unique.list()) {
                    if (animals != null) {
                        animals.setAge("100");
                        mAnimalsDao.update(animals);
                    }
                }

注:这里查询结果可能不唯一,如果唯一可以用unique()标志唯一性。

(4).查询
例如:查询所有数据

List<Animals> animalsList = mAnimalsDao.queryBuilder().list();

关于GreenDao的基本配置和简单的增删改查介绍完毕

特别声明:所有内容也是集各家之所长,仅记录学习,如有侵权或不对之处,还请告知,定当删除或改正。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
配置GreenDao,你需要按照以下步骤进行操作: 1. 在module级别的build.gradle文件中,将以下代码添加到文件的顶部: ``` apply plugin: 'org.greenrobot.greendao' ``` 2. 在同一个build.gradle文件中,添加以下配置android模块下的greendao块中: ``` greendao { schemaVersion 1 // 设置数据库版本号,升级时可修改 daoPackage 'com.example.greendaodemo.db' // 设置生成的DAO、DaoMaster和DaoSession的包路径,默认与表实体所在的包路径相同 targetGenDir 'src/main/java' // 设置生成的源文件的路径,默认在build目录下的build/generated/source/greendao目录中 } ``` 3. 添加GreenDao的依赖库,将以下代码添加到dependencies块中: ``` implementation 'org.greenrobot:greendao:3.2.2' ``` 这样,你就完成了GreenDao配置。如果需要生成GreenDao的代码,请确保你还添加了以下依赖库: ``` implementation 'org.greenrobot:greendao-generator:3.2.2' ``` 参考链接:<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [GreenDao的简单配置](https://blog.csdn.net/qq_42061290/article/details/82586342)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [GreenDao配置](https://download.csdn.net/download/a511341250/9593713)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [GreenDao配置文档](https://blog.csdn.net/chentaishan/article/details/105263937)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这个Bug有点难搞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值