grendao

greenDao3.x的使用
  GreenDao 3.0采用注解的方式来定义实体类,通过gradle插件生成相应的代码
  * 1.配置greenDao
   * 在工程的build.gradle文件添加下面代码
    buildscript {
        repositories {
            jcenter()
            mavenCentral() // add repository需要添加这一行
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.3'
            classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin需要添加这个插件
        }
    }
   * 在app的build.gradle下面添加
    apply plugin: 'com.android.application'
    apply plugin: 'org.greenrobot.greendao' // apply plugin允许使用插件
    
    dependencies {
        compile 'org.greenrobot:greendao:3.2.2' // add library 添加greenDao的依赖
    }
   * 在app的gradle下面添加--进行数据库信息的配置
    greendao {
        schemaVersion 1
        daoPackage 'com.anye.greendao.gen'//换成自己的包名
        targetGenDir 'src/main/java'
    }
    * schemaVersion--> 指定数据库schema版本号,也可以理解成数据库版本号,迁移等操作会用到;
    * daoPackage     --> dao的包名,包名默认是entity(实体)所在的包;(可以自定义输出目录,如果不定义,默认是entity的包)
    * targetGenDir   --> 生成数据库文件的目录;/设置DaoMaster 、DaoSession、Dao目录,这个是greendao默认生成的三个重要的类
  * 2.创建实体类,并且加上实体类注解和id注解,需要注意的是此处id必须为Long类型
   @Entity
   public class User {
       @Id
       private Long id;
       private String name;
       @Transient
       private int tempUsageCount; // not persisted 
   }
   * 通过makeProject编译将会自动生成三个重要的文件,DaoMaster,DaoSession和UserDao(XXXDao)
   * 其中XxxDao便是主要操作数据库的增删改查
  * 3.application下进行greenDao的设置
   public class MyApplication extends Application {
    private DaoMaster.DevOpenHelper mHelper;
    private SQLiteDatabase db;
    private DaoMaster mDaoMaster;
    private DaoSession mDaoSession;
    public static MyApplication instances;
    @Override    public void onCreate() {
        super.onCreate();
        instances = this;
        setDatabase();
    }
    public static MyApplication getInstances(){
        return instances;
    }
   
   /**
    * 设置greenDao
    */
   private void setDatabase() {
       // 通过 DaoMaster 的内部类 DevOpenHelper,你可以得到一个便利的 SQLiteOpenHelper 对象。
       // 可能你已经注意到了,你并不需要去编写「CREATE TABLE」这样的 SQL 语句,因为 greenDAO 已经帮你做了。
       // 注意:默认的 DaoMaster.DevOpenHelper 会在数据库升级时,删除所有的表,意味着这将导致数据的丢失。
       // 所以,在正式的项目中,你还应该做一层封装,来实现数据库的安全升级。
       mHelper = new DaoMaster.DevOpenHelper(this, "notes-db", null);//string便是数据库的名字
       db = mHelper.getWritableDatabase();
       // 注意:该数据库连接属于 DaoMaster,所以多个 Session 指的是相同的数据库连接。
       mDaoMaster = new DaoMaster(db);
       mDaoSession = mDaoMaster.newSession();
   }
   public DaoSession getDaoSession() {
         return mDaoSession;
   }
   public SQLiteDatabase getDb() {
         return db;
     }
   }
  * 4.获取到UserDao进行增删改查
   mUserDao = MyApplication.getInstances().getDaoSession().getUserDao();
   * 增 insert(T entity)
   * 删 delete(T entity) deleteAll()   deleteByKey(K key)根据主键删除
   * 改 update(T entity)
   * 查 load(K key)通过主键查询一条 loadAll()查询所有 queryRaw(java.lang.String where, java.lang.String... selectionArg)查询 返回集合
   * 增删改查的更多操作 查看greenDao的api
    http://greenrobot.org/files/greendao/javadoc/3.1/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值