GreenDao数据库简单使用

第一步:

你需要创建一个java_module如下图所示:

这里写图片描述

第二步:

java_module的gralde需要引用 compile 'de.greenrobot:greendao-generator:2.0.0'

这里写图片描述

第三步:

android项目的gradle需要引用 compile 'de.greenrobot:greendao:2.0.0'

这里写图片描述

第四步

java工程创建main方法
package com.example;

import de.greenrobot.daogenerator.DaoGenerator;
import de.greenrobot.daogenerator.Entity;
import de.greenrobot.daogenerator.Schema;

public class greendao {
    /**
     *     文件生成路径
     */
    private static String srcDir = "../app/src/main/java/com/example/yukuo/greendaodemo";
    public static final int version = 1;

    public static void main(String[] args) {
        /**
         * 第一个参数是数据库的版本
         * 第二个参数是数据库文件生成的目录
         */
        Schema schema = new Schema(version, "daomodule");
        //添加user表
        addUser(schema);
        try {
            //生成文件
            new DaoGenerator().generateAll(schema, srcDir);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    private static void addUser(Schema schema) {
        //得到一个实体
        Entity user = schema.addEntity("User");
        //自定义表的名字
        user.setTableName("testuser");
        //设置字增加id字段
        user.addIdProperty();
        //增加一个不能为空的名字属性
        user.addStringProperty("name").notNull();
        user.addStringProperty("phone");
        user.addStringProperty("email");
    }
}

第五步

运行java工程,自动生成需要的文件

这里写图片描述

第六步:

进行我们的增删改查的操作了
效果图

这里写图片描述
代码:

package com.example.yukuo.greendaodemo;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;

import com.example.yukuo.greendaodemo.daomodule.DaoPresenter;
import com.example.yukuo.greendaodemo.daomodule.User;

import java.util.List;

import butterknife.Bind;
import butterknife.ButterKnife;
import butterknife.OnClick;

public class MainActivity extends AppCompatActivity {

    @Bind(R.id.tv_output)
    TextView tvOutput;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
    }

    @OnClick({R.id.bt_add, R.id.bt_delete, R.id.bt_updata, R.id.bt_query})
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.bt_add:
                User user = new User(null, "yukuoyuan", "13852421254", "14545454");
                DaoPresenter.getInstance(this).getSession().getUserDao().insert(user);
                break;
            case R.id.bt_delete:
                DaoPresenter.getInstance(this).getSession().getUserDao().deleteByKey(1l);
                break;
            case R.id.bt_updata:
                User user2 = new User(2l, "我说你", "1211212", "14545454");
                DaoPresenter.getInstance(this).getSession().getUserDao().update(user2);
                break;
            case R.id.bt_query:
                List<User> lsit = DaoPresenter.getInstance(this).getSession().getUserDao().queryBuilder().list();
                tvOutput.setText("");
                for (User user3 : lsit) {
                    tvOutput.append(user3.getName() + "**" + user3.getId() + "**" + user3.getPhone() + "**" + user3.getEmail() + "\n");
                }
                break;
        }
    }
}

好了有什么不明白的或者问题,请留言给我吧.我会尽快回复你的亲

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值