greenDao简单使用

在项目的build.gradle中添加
compile 'de.greenrobot:greendao:2.1.0'
下载DaoGenerator项目,打开DaoGenerator项目
public static void main(String args[]) throws Exception {
    Schema schema = new Schema(1, "com.green.bean");
    schema.setDefaultJavaPackageDao("com.green.dao");
    initStudent(schema);
    new DaoGenerator().generateAll(schema, args[0]);
}

private static void initStudent(Schema schema) {
    Entity student = schema.addEntity("Student");
    student.addIntProperty("id").primaryKey().index();
    student.addStringProperty("name");
    student.addIntProperty("age");
    student.addStringProperty("hobby");
}
DaoGenerator的build.gradle中修改输出目录
def outputDir = "../app/src/main/java-gen"
运行即可生成相应java文件
new Schema()第一个参数是数据库版本,第二个参数是bean的包名
setDefaultJavaPackageDao 设置dao的包名

可以在生成的java文件中加入自己的代码或者改写,当设置了schema.enableKeepSectionsByDefault 的时候
用//KEEP METHODS注释再下次更新的时候将保留代码块
DaoMaster:
DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this, "notes-db", null);
db = helper.getWritableDatabase();
// 注意:该数据库连接属于 DaoMaster,所以多个 Session 指的是相同的数据库连接。
daoMaster = new DaoMaster(db);
daoSession = daoMaster.newSession();
首先要创建daomaster,用daomaster创建session
创建daomaster要db,db可以用daomaster.DevOpenHelper生成,执行new DaoMaster.DevOpenHelper就会创建数据库,第二个参数是数据库名字,里面的版本号是Generator中写的,当然可以改。也可以自己写DbOpenHelper。
Daoseesion可以获取不同的dao,在Generator中添加了那些表,就有哪些dao。
例如StudentDao
StudentDao:
StudentDao.count   当前表中数据个数
添加:
StudentDao.insert(student)
StudentDao.insertorreplace(student)  如果有这个主键替换没有添加
查找:
查找返回格式为   List<Student>
StudentDao.loadAll()    查询全表数据
QueryBuilder builder = StudentDao.queryBuilder().where();
where中为查询条件:where中参数为可变参数,可以放多个条件,多个where可以用and   or 连接
Properties.列名.eq(匹配)/isNotNull(不为空)/isNull(为空)/between(在两者之间)/like(相似)/
in(在什么中?)
还有一些其他的。。。。
QUeryBuilder:
这个是管理查找的,可以将查找到的数据列出来,也可以删除
list()   返回数据  List<Student>
build()       返回Query<Student>  
-----Query.list   返回数据,除了这个基本的还有一些高级用法
buildDelete()    返回DeleteQuery<Student>
------DeleteQuery.executeDeleteWithoutDetachingEntities     将查询到的符合条件的删除
buildCount()    返回CountQuery<Student>
-------CountQuery.count    返回查询到的数量
buildCursor()    返回CursorQuery<Student>
--------CursorQuery.query     返回Cursor    返回系统的Cursor

删除:
StudentDao.deleteAll   删除全表
StudentDao.delete(Student)---|
StudentDao.deleteByKey------|---这两个都要key对应才行,一般根据条件删除 用QueryBuilder     





  • 1
    点赞
  • 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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值