greenDAO的使用
来源:互联网 发布:如何看淘宝价格曲线 编辑:程序博客网 时间:2024/05/16 03:42
基本配置
在app Module中引入依赖compile 'de.greenrobot:greendao:2.0.0'
新建一个Java Module。
在这个Module中引入代码生成依赖compile 'de.greenrobot:greendao-generator:2.0.0'
生成代码
这里需要一个Schema
对象作为数据库根节点。 Schema schema = new Schema(1, "gavinhua.demo.db");
构造函数需要传入两个参数,第一个是数据库版本号,第二个是生成的代码中的包名。
// 添加一张表Entity user = schema.addEntity("User");// 添加id字段,主键,自动增量user.addIdProperty().primaryKey().autoincrement();// 添加类型为String的字段,不能为空user.addStringProperty("name").notNull();user.addStringProperty("pass");user.addIntProperty("age");// 支持一对一user.addToOne(Entity target, Property fkProperty);// 支持一对多user.addToMany(Entity target, Property targetProperty);
调用生成代码的方法
// 第二个参数是代码生成存放的路径new DaoGenerator().generateAll(schema, "../Demo/app/src/main/java");
OK,db目录下多了4个类,代码成功生成。
更多API请查看官方文档
简单使用
先说一下这几个类的关系。
DaoMaster
负责创建会话DaoSession
,每张表对应的Dao
对象实例又是从DaoSession
中获取的。
// 由DaoMaster的子类可已很容易的创建数据库连接SQLiteDatabase db = new DaoMaster.DevOpenHelper(this, "db_name", null).getWritableDatabase();DaoMaster daoMaster = new DaoMaster(db);DaoSession daoSession = daoMaster.newSession();// 可以从daoSession中获取到每个DAO对象,DAO中封装了操作数据的方法。UserDao userDao = daoSession.getUserDao();
// 插入一条数据userDao.insert(user);// 插入一组数据userDao.insertInTx();// 删除数据userDao.delete();// 删除一组数据userDao.deleteInTx();// 查询所有userDao.loadAll()// 条件查询,使用where,返回一组数据userDao.queryBuilder().where(UserDao.Properties.Name.eq("admin1")).list();// 更新数据userDao.updateInTx();...
Dao
中提供的方法很全,完全能给满足开发的需求。
总结
greenDAO能够满足Android对于数据操作的需求,并且在多个类似工具的比对中,它是非常优秀的。所以推荐大家使用。
0 0
- 关于greenDao的使用
- greenDao的使用教程
- GreenDAO的简单使用
- GreenDao的使用
- GreenDao的使用
- GreenDao的使用
- GreenDao的使用
- greendao的使用
- greenDAO的使用
- GreenDao的使用心得
- Greendao的使用
- GreenDao的使用详解
- GreenDao数据库的使用
- GreenDao的使用
- greenDAO的使用
- GreenDao的使用
- GreenDao的使用
- greenDAO的使用
- mysql 按照某个字段括号里的字符串排序
- libsvm与liblinear的区别
- 93.View the Exhibit and examine the structure of the CUSTOMERS table. Using the CUSTOMERS table, y o
- log4j日志优化:使用BufferedIO和BufferSize而不是ImmediateFlush
- Oracle directory查询
- greenDAO的使用
- JAVA基础集合框架(一)
- 【转稿】:农村孩子为什么没有春天
- 手记NO1
- jsp自动登录设计思路(相对来说比较安全)
- ListView异步加载图片方法和滚动优化
- 【MATLAB工程人员的福音】MATLAB R2015b的Coder工具使用实例(一)
- <Java> File文件操作
- macbook 安装win8 双系统