greenDao的详细介绍

在主项目的grade中配置
   
   
  1. apply plugin: 'org.greenrobot.greendao'
  2. main{
  3. java.srcDirs = ['src/main/java','src/main/jave-gen']
  4. }
  5. greendao{
  6. schemaVersion 1
  7. daoPackage'com.example.greendao'
  8. targetGenDir'src/main/java'
  9. }
  10. compile 'org.greenrobot:greendao:3.1.1'
  11. compile 'org.greenrobot:greendao-generator:3.1.0'
创建一个实体类
   
   
  1. @Entity
  2. public class User {
  3. @Id
  4. private Long id;
  5. private String name;
  6. @Transient
  7. private int tempUsageCount; // not persisted
  8. }

   
   
  1. 数据库里面的注释作用
  2. @nameInDb 在数据库中的名字,如不写则为实体中类名
  3. @indexes 索引
  4. @createInDb 是否创建表,默认为true,false时不创建
  5. @schema 指定架构名称为实体
  6. @active 无论是更新生成都刷新
  7. (二) @Id
  8. (三) @NotNull 不为null
  9. (四) @Unique 唯一约束
  10. (五) @ToMany 一对多
  11. (六) @OrderBy 排序
  12. (七) @ToOne 一对一
  13. (八) @Transient 不存储在数据库中
  14. (九) @generated greendao产生的构造函数或方法
这里结束,编译一次,让程序生成DaoMaster ,  DaoSession,  UserDao


创建GreenDaoUtils
   
   
  1. DaoMaster.DevOpenHelper mHelper;
  2. private SQLiteDatabase db;
  3. private DaoMaster mDaoMaster;
  4. private DaoSession mDaoSession;
  5. private static GreenDaoUtils greenDaoUtils;
  6. private GreenDaoUtils(){}
  7. public static GreenDaoUtils getSingleTon(){
  8. if (greenDaoUtils==null){
  9. greenDaoUtils=new GreenDaoUtils();
  10. }
  11. return greenDaoUtils;
  12. }
  13. private void initGreenDao(Context context){
  14. mHelper=new DaoMaster.DevOpenHelper(context,"test-db",null);
  15. db=mHelper.getWritableDatabase();
  16. mDaoMaster=new DaoMaster(db);
  17. mDaoSession=mDaoMaster.newSession();
  18. }
  19. public DaoSession getmDaoSession(Context context) {
  20. if (mDaoMaster==null){
  21. initGreenDao(context);
  22. }
  23. return mDaoSession;
  24. }
  25. public SQLiteDatabase getDb(Context context) {
  26. if (db==null){
  27. initGreenDao(context);
  28. }
  29. return db;
  30. }
然后在有需要的地方进行增删改查
 
   
   
  1. UserDao mUserDao = GreenDaoUtils.getSingleTon().getmDaoSession(this).getUserDao();
  2. User user = new User((long)1,"11");
  3. mUserDao.insert(user);
  4. List<User> users = mUserDao.loadAll();
  5. for (User user : users) {
  6. System.out.println(user.getName());
  7. }






































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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值