GreenDao

参考网址:http://greenrobot.org/greendao/documentation/how-to-get-started/
github:https://github.com/greenrobot/greenDAO

 http://www.tuicool.com/articles/63I3EfB

1.集成greendao:

 

根目录build.gradle

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0'
    }
}

app的build.gradle

apply plugin: 'org.greenrobot.greendao'

dependencies {
    compile 'org.greenrobot:greendao:3.0.1'
}
配置自动生成dao路径
greendao {
    schemaVersion 1
    daoPackage 'com.swntek.czm.easycardbusiness.dao'//包路径

    targetGenDir 'src/main/java' //生成目录路径
}

然后makeproject 就配置好了

 

2. 新建实体类

 

@Entity
public class Student {
    @Id(autoincrement = true)
    private Long id;
    private String name;

    @Generated(hash = 1097502469)
    public Student(Long id, String name) {
        this.id = id;
        this.name = name;
    }

    @Generated(hash = 1556870573)
    public Student() {
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
 

 编译后会在配置包下生成 对应3个文件

 

3.编写manager管理

 

public class StudentDbManager {
    private final static String dbName = "student_db";
    private static StudentDbManager mInstance;
    private DaoMaster.DevOpenHelper openHelper;
    private DaoMaster daoMaster;
    private Context context;
    public StudentDbManager(Context context) {
        this.context = context;
        openHelper = new DaoMaster.DevOpenHelper(context, dbName, null);
        daoMaster = new DaoMaster(getWritableDatabase());
    }
    public static StudentDbManager getInstance(Context context) {
        if (mInstance == null) {
            synchronized (StudentDbManager.class) {
                if (mInstance == null) {
                    mInstance = new StudentDbManager(context);
                }
            }
        }
        return mInstance;
    }
    /**
     * 获取可读数据库
     */
    public SQLiteDatabase getReadableDatabase() {
        if (openHelper == null) {
            openHelper = new DaoMaster.DevOpenHelper(context, dbName, null);
        }
        SQLiteDatabase db = openHelper.getReadableDatabase();
        return db;
    }
    /**
     * 获取可写数据库
     */
    public SQLiteDatabase getWritableDatabase() {
        if (openHelper == null) {
            openHelper = new DaoMaster.DevOpenHelper(context, dbName, null);
        }
        SQLiteDatabase db = openHelper.getWritableDatabase();
        return db;
    }
    public StudentDao getDao(){
        DaoSession daoSession = daoMaster.newSession();
        StudentDao userDao = daoSession.getStudentDao();
        return userDao;
    }
    /**
     * 插入一条记录
     */
    public void insertUser(Student student) {
        StudentDao dao=getDao();
        dao.insert(student);
    }
    /**
     * 查询
     */
    public List<Student> query(){
        QueryBuilder<Student> qb = getDao().queryBuilder();
        List<Student> list = qb.list();
        return list;
    }
}
...方法

 

 

4.测试

 public void testgreendaoinsert(){
            Student student = new Student();
            student.setName("aa");
            StudentDbManager.getInstance(getApplicationContext()).insertUser(student);
    }
    public void testgreendaoquery(){
        List<Student> students = StudentDbManager.getInstance(getApplicationContext()).query();
        Log.e("tagg",students.size()+"");
    }

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值