安卓:Kotlin数据库框架GreenDao的使用
优势:
1.存取速度快;
2.支持数据库加密;
3.轻量级;
4.激活实体;
5.支持缓存;
6.代码自动生成;
导入依赖:
项目中:
buildscript {repositories {google()jcenter()mavenCentral() // add repository}dependencies {classpath 'com.android.tools.build:gradle:3.5.0'classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' }
}
app中:
apply plugin: 'org.greenrobot.greendao' // apply plugin
implementation 'org.greenrobot:greendao:3.2.2' // add library
greendao{daoPackage 'com.greendao' //生成dao 的包名targetGenDir 'src/main/java' //目录}
首先创建一个bean类:
@Entity//实体
public class Bean {//自增的ID@Id(autoincrement = true)long e_id;String name;}写完锤一下 会自动生成代码
完锤后自动生成三个类 路径是根据你上边 greendao 给的
再写一个工具类,也可以不写
工具类:
class My private constructor(context: Context){var myDaoDao: MyDaoDaoinit {//第一种方法val devOpenHelper = DaoMaster.DevOpenHelper(context, "my", null)val writableDb = devOpenHelper.writableDbval daoMaster = DaoMaster(writableDb)val newSession = daoMaster.newSession()this.myDaoDao=newSession.myDaoDao//第二种方法
// val newDevSession = DaoMaster.newDevSession(context, "my")
// val myDaoDao1 = newDevSession.myDaoDao}//伴生 —— 单例companion object{private var my: My? =nullfun getmy(context: Context): My? {if(my==null){@Synchronizedif(my==null){my= My(context)}}return my}}//添加数据fun getinsert(myDao: MyDao){myDaoDao.insert(myDao)}//删除数据fun getdelet(myDao: MyDao){myDaoDao.delete(myDao)}//修改数据fun getupdata(myDao: MyDao){myDaoDao.update(myDao)}//查询数据(指定数据)fun getquest_count(name:String):List<MyDao>{val where = myDaoDao.queryBuilder().where(MyDaoDao.Properties.Name.eq(name)).list()return where}//查询数据(所有数据)fun getquest_true(name:String):List<MyDao>{val list = myDaoDao.queryBuilder().list()return list}//查询数据(模糊数据)fun getquest_like(name:String):List<MyDao>{val where = myDaoDao.queryBuilder().where(MyDaoDao.Properties.Name.like("%$name%")).list() return where}}
调用:
增加数据:
//因为id是自增长的 所以 nullMy.getmy(this)?.getinsert(MyDao(null,"张三"))
其他的差不多就不一一调用了,删除和修改前建议先查询一下
还有删除表和一些操作时自己注意 有坑 多去看看 自动生成的那三个类
安卓:Kotlin数据库框架GreenDao的使用相关推荐
- 安卓进阶系列-07数据库框架(GreenDAO)的使用
GreenDAO的使用 简介 安卓提供了一个占用内存极小的数据库SQLite,也提供了不少操作数据库的API,然而不是所有程序员都擅长编写SQL语句,这时一个ORM的数据库框架就显得很好用了. 在之前 ...
- 安卓轻量级数据库框架-GreenDao3.2.2集成方案
关于ORM的介绍 GreenDao概念 GreenDao设计目标和优点 GreenDao322的集成和使用 1 添加依赖 2 使用GreenDao3注解的语法来定义数据库实体类 定义实体类和主键ID等 ...
- Android数据库框架-GreenDao入门,阿里P8架构师Android大厂面试题总结
// in the individual module build.gradle files } } 之后点击Sync Project 2.2. 在app的build.gradle中配置 apply ...
- Android GreenDao数据库框架
## Android GreenDao数据库框架 GreenDao简介 Android平台的对象关系映射工具(ORM) 为关系型数据库提供面向对象的接口 简化数据库操作 ORM框架 所谓ORM框架,即 ...
- Android数据库框架总结
本文转自:http://blog.csdn.net/da_caoyuan/article/details/61414626 一:OrmLite 简述: 优点: 1.轻量级:2.使用简单,易上手:3.封 ...
- 安卓进阶系列-06数据库框架(LitePal)的使用
LitePal的使用 背景 安卓内置了一个轻量数据库SQLite,然而很多时候使用SQLite是不方便的,更多开发者习惯服务器部署MySQL之类的数据库,而且复杂的SQL语言对于很多没有系统学习过数据 ...
- 数据库框架:GreenDao 实现原理
数据库框架:GreenDao 实现原理 Android数据库greenDAO框架用法和源码分析 https://blog.csdn.net/duanyy1990/article/details/509 ...
- android 连接mysql orm_Android ORM框架 GreenDao 的使用详解
一.前言 关于 Android 中常用的数据存储方式我们前面已经讲了 Sp 存储和文件存储,但是对于数据量比较大,并且结构复杂的数据我们想要存储只能通过数据库进行处理,Android 中提供了一个 S ...
- Android ORM框架 GreenDao 的使用详解
一.前言 关于 Android 中常用的数据存储方式我们前面已经讲了 Sp 存储 和 文件存储,但是对于数据量比较大,并且结构复杂的数据我们想要存储只能通过数据库进行处理,Android 中提供了一个 ...
最新文章
- 云计算软件生态圈:摸到一把大牌
- 【图论专题】拓扑排序
- 在c语言中 十六进制转十进制,C语言中十六进制转十进制两种实现方法
- Qt 断言的使用 Q_ASSERT
- python: 判断字符串是否为合法的json格式
- 软测基础相关知识回顾
- C#事件的自定义声明
- 【Linux】系统移植篇四--uboot移植
- IDEA如何设置资源目录
- springboot实现微信公众号群发消息功能
- javax.crypto.BadPaddingException Given final block not properly padded?
- 台式计算机图形设置,如何打开计算机图形设置以提高游戏质量?
- 锁屏显示Activity
- Vue单页面中进行业务数据的上报
- rsyncd.conf 文件man手册翻译
- 案例驱动式Python学习笔记【第三篇】居民身份证信息提取
- Java设计模式博客全目录
- 在线任意进制转换工具
- AI简史--从1308到2016
- 服务器同步电脑文件夹在哪,把文件同步到服务器上