首页 > 代码库 > 数据库框架

数据库框架

 

android本身内置的sqllite,也就是用的最基本的SQLiteOpenHelper方法,这种方法对自己来说比较方便易懂。

但是在使用过程中感觉很繁琐,从建表到对表的增删改查等操作,如果表对象的属性很多,就需要使用大量的代码来执行建表、插入等。

在代码执行中还需要对数据库和游标的进行及时关闭(开启使用,用完关闭),而且还需要部分sql语言,这在开发中产生bug进行调试时尤其不方便。

 


 

ORM

对象-关系映射(Object/Relation Mapping,简称ORM)

关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射

 

ORM框架实现的原理其实也很简单,就是利用Java的反射机制把对象和数据库记录映射关联起来。比如存储的时候,是把对象的属性取出来作为记录的属性值进行插入;而查询的时候则是把查询条件自动构建成一条Sql语句,把查询到的结果集转成对象列表。

目前android经常用的orm框架主要有greenDAOOrmLiteAndrORM, afinalxUtils  。

它们的实现原理都一样,不同的也只是细节方面的处理。

 

ORM框架使用起来确实是很方便的,给我们编码提高了效率

但是也有着致命弊端。前面我们也介绍了ORM的实现的原理是 Java的反射机制,反射有个缺点,就是会造成效率不高、耗时较长的现象当有数据批量操作的时候,会把耗时加长好几倍所以当遇到业务中有很多的记录要 处理的时候,就不推荐大家使用框架了,还是老老实实的写比较靠谱。今天干货分享到此为止,希望可以帮助到大家。

 


 

greenDAOOrmLiteAndrORM, afinalxUtils

性能对比:

最快当然是直接用sqllite(废话),

 

如果对数据库性能要求很高,那么采用greenDao,如果想图方便采用OrmLite或者AndrORM。

综合了网上的各种评价,greenDAO的运行效率最高,内存消耗最少,性能最佳。比 OrmLite 性能好。

 

数据库框架