greenDAO的使用

转载请注明:
http://blog.csdn.net/u012954720/article/details/52963434

greenDAO是一个轻量、快速的ORM解决方案,它将对象映射到SQLite数据库, 是方便我们操作数据库的.

1. 首先 我们需要在gradle中添加 插件和 依赖

// 工程的gradle中
buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'org.greenrobot:greendao-gradle-plugin:3.2.0'
    }
}
// 模块 的 gradle中 
apply plugin: 'org.greenrobot.greendao'

dependencies {
    compile 'org.greenrobot:greendao:3.2.0'
}

2. 基本使用

在添加好依赖以及插件之后, 我们接下来就可以使用了.

1. 创建我们要操作的model

例如新建了一个Book, 加上相应的注解.之后greenDAO会帮我们和数据库关联上.

@Entity
public class Book {
    @Id(autoincrement = true)
    private Long id;
    @Property(nameInDb = "title")
    private String title;
    @Property(nameInDb = "author")
    private String author;
}

在编译或者运行之后, 会看到会生成 了DaoMaster、DaoSession、BookDao、Book共4个类文件.
这里写图片描述

2. 生成Daosession

建议在Application中进行数据库的初始化.

public class MyApplication extends Application {

    private DaoSession mDaoSession;
    @Override
    public void onCreate() {
        super.onCreate();
        DaoMaster.DevOpenHelper openHelper =
                new DaoMaster.DevOpenHelper(getApplicationContext(), "myapp.db");

        SQLiteDatabase database = openHelper.getWritableDatabase();
        // 可以对数据库直接进行加密
//        Database db = openHelper.getEncryptedWritableDb("123");
        // 数据的管理器 创建
        DaoMaster master = new DaoMaster(database);
        // 所有的生成的 DAO 对象, 都要从 daoSesion 中取出来
        mDaoSession = master.newSession();
    }

    public DaoSession getDaoSession() {
        return mDaoSession;
    }
}

注意:
在建立一个Application时, 不要忘记在 清单文件中进行注册

4. MainActivity中对数据库进行 增删改查

public class MainActivity extends AppCompatActivity {

    private DaoSession mSession;

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


        MyApplication application = (MyApplication) getApplication();
        mSession = application.getDaoSession();

        // DAO 数据访问对象, 可以操作一个实体类 , BookDao --> Book
        BookDao bookDao = mSession.getBookDao();

        // 往数据库中添加数据
        Book book = new Book();
        book.setTitle("7天学会Android");
        bookDao.insert(book);


        // 从数据库中查找数据

        // where 条件, 字段进行运算
        // XxxxDao.properties 列, 操作判断
        // _id = 9;
        QueryBuilder<Book> queryBuilder = bookDao.queryBuilder();
        Book unique = queryBuilder.unique();
        QueryBuilder<Book> where = queryBuilder.where(BookDao.Properties.Id.eq(1L));
        List<Book> list = where.list();
        for (Book book1 : list) {
            System.out.println(book1.getTitle());
        }


        // 删除数据
        Long id = new Long(1);
        bookDao.deleteByKey(id);

        List<Book> list2 = where.list();
        for (Book book1 : list2) {
            System.out.println(book1.getTitle());
        }
    }
}

源码下载:

greenDAO的官方网址:
http://greenrobot.org/greendao

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值