在android studio中使用greenDao

最近项目重构,我负责android客户端数据库操作的封装,调研时发现了一款超级好用的ORM数据库框架——greenDao!

看了greenDao官网的说明,发现这个框架比之前用的ORMLite快很多,采用自动生成代码的方式也让人眼前一亮,于是决定试一试。

好了,话不多说,上代码!

一、配置工程

1、在../app/src/main 目录下新建Directory命名为java-gen-db,用于存放greenDao自动生成的代码.

这里写图片描述

2、为工程添加一个java的module,命名为daogenerator,此工程只有一个类MyDaoGenerator.

这里写图片描述

这里写图片描述

3、在app的build.gradle中添加以下代码

sourceSets{
        main{
            java.srcDirs = ['src/main/java','src/main/java-gen-db']
        }
    }
compile 'de.greenrobot:greendao:2.1.0'

在daogenerator的build.gradle中添加以下代码

compile 'de.greenrobot:greendao-generator:2.1.0'

配置好gradle后,同步(sync )一下.
同步结束后开始下一步.

二、生成代码

daogenerator的作用是生成geenDao操作数据库的DaoMaster、DaoSession,GreenDao和JavaBean。

引用古沐风的一段文字说明一下这些自动生成的代码什么意思:
(古沐风博客:http://my.oschina.net/cheneywangc/blog/196354

DaoMaster:一看名字就知道它是Dao中的最大的官了。它保存了sqlitedatebase对象以及操作DAO classes(注意:不是对象)。其提供了一些创建和删除table的静态方法,其内部类OpenHelper和DevOpenHelper实现了SQLiteOpenHelper并创建数据库的框架。

DaoSession:会话层。操作具体的DAO对象(注意:是对象),比如各种getter方法。

XXXDao:实际生成的某某DAO类,通常对应具体的java类,比如NoteDao等。其有更多的权限和方法来操作数据库元素。

XXXEntity:持久的实体对象。通常代表了一个数据库row的标准java properties。

现在我需要一个userInfo的表,我需要在MyDaoGenerator做以下的工作.

/**
 * 此java工程用于生成
 * greenDao操作数据库需要的
 * DaoMaster  && DaoSession && xxDao && xxEntity
 */
public class MyDaoGenerator {
   

    public static void main(String[] args) throws Exception{

        //参数1:数据库版本
        //参数2:自动生成代码默认包
        Schema schema = new Schema(2,"org.xxx.db");

        addUserInfo(schema);

        //获取自动输出代码路径
        
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值