小结:greenDAO和LitePal的区别

简介: 这两个框架思想都差不多,都是把面向对象映射成关系型语言,主要区别有以下几个:1. greenDAO的version等数据库属性设置都是在对应的模型类里面完成的,以Java class的属性变量的形式存储;而LitePal是在另外的一个xml文件中定义。

这两个框架思想都差不多,都是把面向对象映射成关系型语言,

主要区别有以下几个:

1. greenDAO的version等数据库属性设置都是在对应的模型类里面完成的,以Java class的属性变量的形式存储;而LitePal是在另外的一个xml文件中定义。

img_24b47358582a59d3d076fbe1674fe0f1.jpe
图片发自简书App


2.greenDAO将会生成Java数据对象(实体)和DAO对象。这些DAO对象被用来让实体有最好的合理映射射方式。

而LitePal是直接将Java模型类映射成SQLite数据库对象;

3.添加关系数据表的属性时,greenDAO通过生成的Java实体类的实例调用对应数据类型的方法进行属性添加:

img_22f3b4447f33d91d7c34bab619541902.jpe
图片发自简书App

而LitePal是在开发者自行写的模型类中通过定义Java class的属性变量的形式添加:

img_c1f4b48458d3064dd8511a1ca7261b89.jpe
图片发自简书App


4.两个框架的增删改查操作风格不一(下面列举一个查询例子的代码片段):

greenDAO:

img_e2eab027bb5ec50298e6c47602a5a32e.png
图片发自简书App

LitePal:

img_f8bbd6a55571b7f94d743e51027b976e.jpe
图片发自简书App

小结:

两者根本思想上是相似的,都是面向对象语言跟关系型语言之间的映射,但是两者的映射过程以及数据库操作风格都不尽相同。在使用的时候可以根据具体的操作环境或者个人的编程风格习惯进行抉择。

目录
相关文章
|
1月前
|
算法 NoSQL Java
Springboot3新特性:GraalVM Native Image Support和虚拟线程(从入门到精通)
这篇文章介绍了Spring Boot 3中GraalVM Native Image Support的新特性,提供了将Spring Boot Web项目转换为可执行文件的步骤,并探讨了虚拟线程在Spring Boot中的使用,包括如何配置和启动虚拟线程支持。
86 9
Springboot3新特性:GraalVM Native Image Support和虚拟线程(从入门到精通)
|
5月前
|
算法 Java 数据安全/隐私保护
eclipse导入BASE64Encoder类的方法
eclipse导入BASE64Encoder类的方法
91 1
|
数据库 Android开发 数据库管理
Android LitePal的简单使用
Android LitePal的简单使用
232 0
Android LitePal的简单使用
|
数据库 Android开发 开发者
GreenDAO系列之(1)入门
# 关于greenDao ## 简介 greenDAO 是一个开源的ORM数据库框架。它帮助开发者从日常的数据库的读写sql语句中解放出来,开发者只需要关注具体的Java对象,就能够进行数据库的访问操作。 ![image](http://greenrobot.org/wordpress/wp-content/uploads/greenDAO-orm-320.png) ## gree
2741 0
|
Java TensorFlow API
TensorFlow Lite源码解析--模型加载和执行
TensorFlow Lite是专门针对移动和嵌入式设备的特性重新实现的TensorFlow版本。相比普通的TensorFlow,它的功能更加精简,不支持模型的训练,不支持分布式运行,也没有太多跨平台逻辑,支持的op也比较有限。但正因其精简性,因此比较适合用来探究一个机器学习框架的实现原理。不过准确讲,从TensorFlow Lite只能看到预测(inference)部分,无法看到训练(t
7483 0
|
Java 数据库 索引
GreenDao3.0版本基础
greenDAO3基本使用 greenDAO3开始使用注解的方式定义实体类(entity),并且是通过安装gradle插件来生成代码。之前的版本则是通过建立一个独立的Java-lib工程来存放生成的文件。
1604 0
|
Android开发
Android中gradle文件中implementation和compile的异同
相同之处:都是为Module添加依赖 不同之处:implementation不可以依赖传递,但是compile可以依赖传。这是什么意思呢?有经验的开发人员基本上都了解,举个例子,如果一个App依赖于libA,libA又依赖...
1327 0
|
数据库 数据库管理 数据安全/隐私保护