数据库那些事--greenDAO增删查改

转载请注明出处:王亟亟的大牛之路

话不多说先安利:https://github.com/ddwhan0123/Useful-Open-Source-Android 一直在加新东西,你值得拥有

这几天忙的1B,这里跑那里跑,写的Demo就是没时间发帖,昨天10来点到家然后 弄鱼 弄麦麦啥的再敲敲代码就1点了,早上起来困的1B。。。。

OK,先来说下为什么写这篇文章。

上周面试,一个面试官问了一堆,答得还不错,然后聊到数据库,我说我之前用sql直接写,然后他一脸闷B说了句好吧。。。然后我应该去学个第三方的ORM,所以就写了这个Demo,这篇博文

greenDAO是什么我就不多罗嗦了,google/莆田(百度) 都有一堆,这里给出几个比较好的给大家

http://www.jianshu.com/p/c4e9288d2ce6

http://greenrobot.org/greendao/

来看下我们的项目结构

这里写图片描述

用到的库如下:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:recyclerview-v7:23.4.0'
    apt 'com.jakewharton:butterknife-compiler:8.1.0'
    compile 'org.greenrobot:greendao:2.2.1'
    compile 'com.jakewharton:butterknife:8.1.0'
    compile 'com.apkfuns.logutils:library:1.4.2'
    compile 'io.reactivex:rxjava:1.1.5'
    compile 'io.reactivex:rxandroid:1.2.0'
}

因为这部分和其他开源库 还是有点使用的小区别,我这边还是照搬下如何构建项目(隔壁搬来的)

1.首先开个项目

2.然后在.src/main下java目录同级的地方新建个目录叫java-gen

3.开完之后在build.gradle的sourceSets节点复制以下内容

 main {
            java.srcDirs = ['src/main/java', 'src/main/java-gen']
        }

这里写图片描述

当然记得把前面那一堆依赖里 greenDAO相关的先build下不然 不能成

4.接下来再建我们的依赖java Module(用于创建对象和DAO代码)

5.然后在那个项目里加上generator所需的依赖,像这样

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'org.greenrobot:greendao-generator:2.2.0'
}

6.然后在这个JAVA 项目里创建一个类,叫什么随你,喜欢就好。

这里贴下具体的代码

public class DemoClass {
    public static void main(String[] asa) {
        Schema schema = new Schema(1, "com.example");
        addPerson(schema);
        try {
            new DaoGenerator().generateAll(schema, "/Users/jiajiewang/Desktop/SQLDemo/app/src/main/java-gen");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void addPerson(Schema schema) {
        Entity entity = schema.addEntity("Person");
        entity.addIdProperty();
        entity.addStringProperty("Name").notNull();
        entity.addStringProperty("Age").notNull();
        entity.addStringProperty("Address");
    }
}

这里有一个Main方法,一个addPerson

这里我们先声明了一个模式对象,传入2个参数 1个是数据库版本号,1个是生成代码的路径,这个路径就是前面我们java-gen的路径(可能在运行前并没有这个路径,但是运行后就自动生成了)

然后我们再给这个模式对象构建实体,这个实体其实就是我们数据库字段所对应的对象实体。(greenD

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值