Kotlin语言开发android系列:GreenDao3基本使用
来源:互联网 发布:mac os x 10.9懒人版 编辑:程序博客网 时间:2024/05/22 13:58
本文内容:
本文的内容主要是针对使用Kotlin开发android过程中使用Greendao3来操作数据库的基本使用指南。由于Greendao3相关资料比较多,请大家自行搜索,本文不再对Greendao3进行详细介绍。
Greendao3配置:
在使用Greendao3之前,需要对Greendao3进行配置(这已经是默认流程了!),打开build.gradle(Module:app)添加如下配置:
apply plugin: 'org.greenrobot.greendao'
compile 'org.greenrobot:greendao:3.2.2'
下面字段中schemaVersion配置数据库的版本,daoPackage是配置在工程中Greendao的包名,targetGenDir是配置数据库的保存路径。greendao { schemaVersion 1 daoPackage 'GreenDao' targetGenDir 'src/main/java'}
在Build.gradle(project:xxx)中添加如下配置:
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.0'
Greendao3使用:
完成配置后便可以进行使用,在使用时要进行实体类的编写,创建实体类User:Greendao3中,实体类需要用@Entity进行注解,注解后只需声明相关参数如下图,重新编译后便可自动生成实体类。很方便。
常用注解:
@Id:主键 Long 型,可以通过@Id(autoincrement = true)设置自增长
@Property:设置一个非默认关系映射所对应的列名,默认是使用字段名,例如:@Property(nameInDb = "name")
@NotNull:设置数据库表当前列不能为空
@Transient:添加此标记后不会生成数据库表的列
@Entitypublic class User { @Id private Long id; private String name; private String password;完成实体类后Build->make module App 即可在Greendao包下生成Userdao文件。如下图
初始化Greendao:
初始化要在Application进行。新建MyApplication类继承Application。Kotlin代码如下:
class MyApploction : Application(){ companion object { //声明静态变量。 lateinit var daoSession : DaoSession lateinit var context:Context } override fun onCreate() { super.onCreate() initDao() context = applicationContext } fun initDao(){ val helper = DaoMaster.DevOpenHelper(this,"User")//创建的数据库名。 val db = helper.writableDb daoSession = DaoMaster(db).newSession() } open fun getDaoInstant(): DaoSession { //用于获得对象 return daoSession } open fun getContext():Context{ return context }}
Greendao3增删改查:
新建UserDaoHelper类,在其中对增删改查进行封装,代码如下:class UserDaoHelper{ fun insertUser(user: User){ //插入一条数据,该User类型为User实体类 MyApploction().getDaoInstant().userDao.insertOrReplace(user) } fun deleteUser(id:Long){ //根据ID删除一条数据 MyApploction().getDaoInstant().userDao.deleteByKey(id) } fun upDataUser(user: User){ //更新一条数据 MyApploction().getDaoInstant().userDao.update(user) } fun queryUser(name :String): List<User> { //按名字查找一条数据,并返回List return MyApploction().getDaoInstant().userDao.queryBuilder().where(UserDao.Properties.Name.eq(name)).list() } fun queryUserById(id: Long): List<User> { //按Id查找一条数据,并返回List return MyApploction().getDaoInstant().userDao.queryBuilder().where(UserDao.Properties.Id.eq(id)).list() }}更多的数据库功能可以根据Greendao3文档进行添加,在需要用到以上功能时直接调用即可。如上对增删改查方法进行调用即可。
如内容有问题欢迎大家批评与指出。请大家多多评论激励下博主。
阅读全文
0 0
- Kotlin语言开发android系列:GreenDao3基本使用
- android:kotlin语言使用greendao3.0简解
- Kotlin---android官方开发语言使用入门
- greenDao3的基本使用
- GreenDao3的基本使用
- kotlin开发Android入门篇八Kotlin开发Android的基本使用
- Kotlin 开发Android :基本语法
- 使用Kotlin开发Android
- 使用Kotlin开发Android
- 使用kotlin开发android
- Kotlin-------------Android 开发一级语言
- Android开发官方语言-Kotlin
- Android官方开发语言Kotlin使用-基础入门
- Android GreenDao3.2.0使用
- greenDao3.0 的基本使用
- GreenDao3.0 的基本使用
- GreenDao3.2的基本使用
- Kotlin 语言基本语法的使用
- MyBatis注解select in参数
- 记录:我的第一代深度图像物体识别
- 软件测试之我所见
- 内存溢出与jvm参数配置
- ios开发之UITextField、UITextView限制最大输入数
- Kotlin语言开发android系列:GreenDao3基本使用
- 我了解的一些线阵相机知识
- 2课:单片机引脚介绍(重新温故知新1)
- js学习笔记之sort
- hashmap的数据结构以及put和get
- 自己记得
- mysql 多列索引的生效规则
- (hdu 1754) I Hate It(线段树基础,单点更新)
- MMU的通俗理解