• 1.摘要
  • 2.基本信息
  • 3.目标
  • 4.原则
  • 5.特色
  • 6.设计理念

LiteOrm

LiteOrm

LiteOrm是Github上一款开源的Android数据库框架。

LiteOrm是一个速度快、小巧、强大的androidORM框架类库,让你一行代码实现数据库的增删改查操作,以及实体关系的持久化和自动映射。

基本信息

  • 基于系统

    Android

  • 框架类型

    数据库框架

目标

简单、强大、最有用的android ORM 框架库

原则

  1. 1.

    轻量、专注、性能优先、线程无关,专注数据及其关系存储和操作。

  2. 2.

    无需工具辅助,不需要无参构造,不需要繁多注解,约定优于配置。

  3. 3.

    使用极致简约,例如:db.save(u); db.query(U.class); db.deleteAll(U.class);

特色

  • 支持多库:每个数据库文件对应一个LiteOrm管理类实例。

  • SD卡存储:可以将DB文件放在你认为合理的位置。

  • 自动建表:开发者无需关心数据库以及表细节。

  • 关系存储和恢复:真正实现实体关系映射持久化以及恢复,只需在实体的关联属性上标出关系类型即可。

  • 独立和级联:可平滑切换,独立操作性能高,仅保存该对象数据;级联操作更强大,关联对象和关系一并保存。

  • 智能列探测:App升级或者Model改变,新加了属性字段,该字段将被探测到并加入数据库中,因此无需担心新字段不被存储。

  • 丰富API支持:save(replace), insert, update, delete, query, mapping, etc。

  • 自动识别类型:分别转化为以sqlite支持的TEXT, REAL, INTEGER, BLOB几种数据类型存储。

  • 自动构建对象,通过反射和探测构造函数参数等hack手法新建对象,大多情况下亦不需要无参构造函数。

  • 更新指定列,可灵活、强制、批量赋值,强制赋值将无视被操作对象的真实值。

  • 存储序列化字段:Date、ArrayList、Vector等各种容器智能保存及读取。

  • 约束性语法支持:NOT NULL, UNIQUE, DEFAULT, COLLATE, CHECK, PRIMARY KEY,支持冲突算法。

  • 灵活的查询和删除:columns, where, roder, limit, having group, etc。

设计理念

LiteOrm主线思路是约定大于配置,所以你可以用极少的注解完成复杂数据的存储。

大多情况下不要求开发者为每个对象添加一个无参构造,这看起来傻傻的很多余。

关注性能,代码每个模块我都有仔细琢磨,各个功能的实现绕过了android提供的直接接口而比较贴近底层的实现。

超级专注,你甚至看不到任何包括线程在内的其他功能存在,你根本不用担心增加你项目的负担,引入一个大包袱。

简约的背后,往往是复杂。而这一切,就是为了还原面向对象本应有的体验,让增加的部分,并未增加。