首页 > 代码库 > 数据库框架
数据库框架
android本身内置的sqllite,也就是用的最基本的SQLiteOpenHelper方法,这种方法对自己来说比较方便易懂。
但是在使用过程中感觉很繁琐,从建表到对表的增删改查等操作,如果表对象的属性很多,就需要使用大量的代码来执行建表、插入等。
在代码执行中还需要对数据库和游标的进行及时关闭(开启使用,用完关闭),而且还需要部分sql语言,这在开发中产生bug进行调试时尤其不方便。
ORM:
对象-关系映射(Object/Relation Mapping,简称ORM)
关系数据库是企业级应用环境中永久存放数据的主流数据存储系统。对象和关系数据是业务实体的两种表现形式,业务实体在内存中表现为对象,在数据库中表现为关系数据。内存中的对象之间存在关联和继承关系,而在数据库中,关系数据无法直接表达多对多关联和继承关系。因此,对象-关系映射(ORM)系统一般以中间件的形式存在,主要实现程序对象到关系数据库数据的映射。
ORM框架实现的原理其实也很简单,就是利用Java的反射机制把对象和数据库记录映射关联起来。比如存储的时候,是把对象的属性取出来作为记录的属性值进行插入;而查询的时候则是把查询条件自动构建成一条Sql语句,把查询到的结果集转成对象列表。
目前android经常用的orm框架主要有greenDAO、OrmLite、AndrORM, afinal,xUtils 。
它们的实现原理都一样,不同的也只是细节方面的处理。
ORM框架使用起来确实是很方便的,给我们编码提高了效率,
但是也有着致命弊端。前面我们也介绍了ORM的实现的原理是 Java的反射机制,反射有个缺点,就是会造成效率不高、耗时较长的现象。当有数据批量操作的时候,会把耗时加长好几倍。所以当遇到业务中有很多的记录要 处理的时候,就不推荐大家使用框架了,还是老老实实的写比较靠谱。今天干货分享到此为止,希望可以帮助到大家。
greenDAO、OrmLite、AndrORM, afinal,xUtils
性能对比:
最快当然是直接用sqllite(废话),
如果对数据库性能要求很高,那么采用greenDao,如果想图方便采用OrmLite或者AndrORM。
综合了网上的各种评价,greenDAO的运行效率最高,内存消耗最少,性能最佳。比 OrmLite 性能好。
数据库框架