安卓中的数据库操作
1.原生操作
Android 中封装好的方法-------SQLliteOpenHelper
- 面向对象的操作
- sql语句的操作
2.三方操作
ORM是指对象关系映射(Object Relation Mapping),是一种程序设计技术,(greenDao和ormLite都是基于orm框架)
用于实现面向对象编程语言里不同类型系统的数据之间的转换。
从效果上说,它其实是创建了一个可在编程语言里使用的“虚拟对象数据库”。
面向对象是从软件工程基本原则(如耦合、聚合、封装)的基础上发展起来的,
关系数据库则=是从数学理论发展而来的. 两者之间是不匹配的.
而ORM作为项目中间件形式实现数据在不同场景下数据关系映射.
对象关系映射是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.ORM就是这样而来的。
- ormlite框架
基于注解和反射的的方式,导致ormlite性能有着一定的损失(注解其实也是利用了反射的原理)
优点:
文档较全面,社区活跃,有好的维护,使用简单,易上手。
缺点:
基于反射,效率较低
- GreenDao
优点:
效率很高,插入和更新的速度是sqlite的2倍,加载实体的速度是ormlite的4.5倍。
文件较小(<100K),占用更少的内存 ,但是需要create Dao,
操作实体灵活:支持get,update,delete等操作
缺点:
学习成本较高。其中使用了一个java工程根据一些属性和规则去generate一些基础代码,类似于javaBean但会有一些规则,另外还有QueryBuilder、Dao等API,所以首先要明白整个过程,才能方便使用。没有ORMLite那样封装的完整,greenDao的官网上也指出,正是基于generator而不是反射,才使得其效率高的多。