第一次接触Litepal感觉有点不可思议(获取对象就能建表,还不需要进行表字段和类属性的映射?),这比hibernate和mybatis还强呢!后来想了想,其实也没有什么不可能吧,毕竟是java,代码能帮你实现一切。于是,带着好奇进去看了一遍它的代码。大神就是大神,写的确实不错!
作为笔记,我自己总结了一些Litepal的操作,如下:
更新数据库:
1.新增表
先添加到list中,把litepal.xml中的version的值加一即可
2.新增表的列
先在model中添加private属性,把litepal.xml中的version的值加一即可
数据库操作CRUD
继承了DataSupport类之后,这些实体类就拥有了进行CRUD操作的能力
1.更新
//插入
obj.save();
//更新
DateSupport.updateAll(clazz, contentValues, selections, args);
obj.updateAll(selections, args);
//删除
DataSupport.deleteAll(clazz, selections, args);
DataSupport.deleteAll(clazz);
2.查询
obj = DateSupport.find(clazz, id)
obj = DateSupport.findFirst(clazz)
obj = DateSupport.findLast(clazz)
obj = DateSupport.findAll(clazz, [id1, id2, …])
//条件查询,选择字段,排序,取前几行
//find(clazz)最后
obj = DataSupport.where(“parentId = ?”, “1”).find(Student.class);
obj = = DataSupport.select(“cnName”, “enName”).where(“parentId = ?”, “1”).find(Student.class);
order(“”).limit();排序后前几行
//聚合函数
int result = DataSupport.where(“parentId = ?”, “1”).count(DEST.class);
long result = DataSupport.sum(DEST.class, “updateTime”, long.class);
注意:只有private修饰的字段才会被映射到数据库表中