Android GreenDao 简介、配置、使用 -- 适用于新手

GreenDao 简介

         GreenDao是一个将对象映射到SQLite数据库中的轻量级且快速的ORM解决方案.




优点:

1. 一个精简的库

2. 性能最大化

3. 内存开销最小化

4. 易于使用的APIs

5. 对Android进行高度优化


GreenDAO 缺点:

1.      配置步骤繁多

2.      学习成本高

3.      封装没有ORMLite完善



GreenDAO 的配置: 本文背景色为黄色的代码是添加项不是所有代码都需要添加 本文是用Android Studio工具

        

1.      在Project的gradle文件builscript标签中的dependencies标签中配置

                           

		buildscript {
			repositories {
				jcenter()
			}
			dependencies {
				classpath 'com.android.tools.build:gradle:2.3.3'
				classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2'
			}
		}

                  

2.      在Module的gradle文件中顶部配置

 

apply plugin: ‘org.greenrobot.greendao

 

3.      在Module的gradle 文件的android标签中配置

 

		greendao{
			schemaVersion 1					//数据库版本
			daoPackage '一般为Module的主包名.dao'	//数据库相关操作类生成位置
						targetGenDir 'src/main/java'						//默认就行	代码存放位置
		}
 

4.      在Module 的gradle文件中的dependencies标签中关联项目依赖


compile'org.greenrobot:greendao:3.2.2'




GreenDao 注解表:


@注解名 翻译 作用

@Convert 转变 未知

@Entity 实体 声明类名为表名

@Generated 发电的 未知

@Id id  声明id

@Index 索引 未知

@JoinEntity加入实体 未知

@JoinProperty加入属性 未知

@Keep 人名 未知

@NotNull 非空 声明字段不能为空

@OrderBy 整齐的 未知

@Property 属性 声明属性

@ToMany 未知  未知

@ToOne 未知 未知

@Transient 短暂的 声明字段不在数据库生成

@Unique 唯一的  声明唯一



@Entity(nameInDb = "student")                                //设置表名

@Id(autoincrement = true)                                          //设置Idid必须为Long类型,autoincrement设置id自增长

@Unique                                                                           //唯一约束注意不能重复插入

@NotNull                                                                          //不能为空

@Property(nameInDb = "变量名")                           //设置对应表中的字段名称

@Property(nameInDb = "变量名")                           //nameInDb字段声明

@Transient                                                                      //不生成对应表中的字段

 

声明好字段MakeProject当前的Module第一次使用GreenDao会出现提示框点击颜色突出的

生成对应的类

 

创建                                                        DaoMaster.DevOpenHelper   helper       =       DaoMaster.DevOpenHelper(上下文引用,数据库名);

创建                                                        DaoMaster      master     =       new DaoMaster(helper.getWritableDatabase());//传入数据库

获取session对象                               DaoSession      daoSession       =       master.newSession();

获取实体beanDao对象           daoSession.get+实体bean类的名子拼接+ Dao();





实例代码:

@Entity(nameInDb ="表名")//注意这里是表名不需要加.db
public class Demo{
@Id(autoincrement=true)//注意注解不需要分号结束
public Long id;
@Property(nameInDb="name")
public String name;
}


确保实体类写的没问题

在Android Studio上方的工具条中找到Build-->Make Project Ctrl+F9


会生成DaoMaster     DaoSession      DemoDao三个类


创建                                                        DaoMaster.DevOpenHelper   helper       =       DaoMaster.DevOpenHelper(上下文引用,数据库名);

创建                                                        DaoMaster      master     =       new DaoMaster(helper.getWritableDatabase());//传入数据库

获取session对象                               DaoSession      daoSession       =       master.newSession();

获取实体beanDao对象           DemoDao demodao= daoSession.getDemoDao();



demodao.insert()//插入的方法

demodao.update()//修改的方法

demodao.queryBuilder().list() //查询所有的方法

demodao.delete()//删除的方法


增删改都需要在对应方法在放入Demo的对象


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值