您的位置:首页 > 数据库

GreenDao数据库简单使用

2016-05-19 19:28 519 查看

第一步:

你需要创建一个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;
}
}
}


好了有什么不明白的或者问题,请留言给我吧.我会尽快回复你的亲
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: