Android高性能数据库框架:LiteOrm
简介:
LiteOrm是一个小巧、强大、比系统自带数据库操作性能快1倍的 android ORM 框架类库,速度快、体积小、性能高。开发者一行代码实现数据库的增删改查操作,以及实体关系的持久化和自动映射。
优点:
- 轻量、专注、性能优先、线程无关,专注数据及其关系存储和操作。
- 无需工具辅助,不需要无参构造,不需要繁多注解,约定优于配置。
- 使用极致简约,例如:db.save(u); db.query(U.class); db.deleteAll(U.class);
基本使用:
1.
//实例化,依然单例
static LiteOrm liteOrm;
if (liteOrm == null) {
liteOrm = LiteOrm.newSingleInstance(this, "liteorm.db");
}
liteOrm.setDebugged(true); // open the log
2.基本的注解
@Table("test_model")
public class TestModel {
// 指定自增,每个对象需要有一个主键
@PrimaryKey(AssignType.AUTO_INCREMENT)
private int id;
// 非空字段
@NotNull
private String name;
//忽略字段,将不存储到数据库
@Ignore
private String password;
// 默认为true,指定列名
@Default("true")
@Column("login")
private Boolean isLogin;
}
数据库操作自然少不了增删改查,回顾一下几个常用的sql语句:
SELECT 列
FROM 表
WHERE 条件
GROUP BY 分组条件
HAVING 分组后条件
ORDER BY 排序
LIMIT (x,y)
LiteOrm的操作方式:
保存(插入or更新)
School school = new School("hello");
liteOrm.save(school);
插入
Book book = new Book("good");
liteOrm.insert(book, ConflictAlgorithm.Abort);
更新
book.setIndex(1988);
book.setAuthor("hehe");
liteOrm.update(book);
更新指定列
// 把所有书的author强制批量改为liter
HashMap<String, Object> bookIdMap = new HashMap<String, Object>();
bookIdMap.put(Book.COL_AUTHOR, "liter");
liteOrm.update(bookList, new ColumnsValue(bookIdMap), ConflictAlgorithm.Fail);
// 仅 author 这一列更新为该对象的最新值。
//liteOrm.update(bookList, new ColumnsValue(new String[]{Book.COL_AUTHOR}, null), ConflictAlgorithm.Fail);
查询
List list = liteOrm.query(Book.class);
OrmLog.i(TAG, list);
查询 任意
List<Book> books = liteOrm.query(new QueryBuilder<Book>(Book.class)
.columns(new String[]{"id", "author", Book.COL_INDEX})
.distinct(true)
.whereGreaterThan("id", 0)
.whereAppendAnd()
.whereLessThan("id", 10000)
.limit(6, 9)
.appendOrderAscBy(Book.COL_INDEX));
OrmLog.i(TAG, books);
删除 实体
// 删除 student-0
liteOrm.delete(student0);
。。。。。。。。等等
更多详情请看:http://blog.youkuaiyun.com/u014099894/article/details/51586500
里面有封装好的类和方法,使用起来更加便利!