/**
* LitePal使用方法 增删改查
*/
private void add(){
//普通存储
Album album = new Album();
album.setName("album");
album.setPrice(10.99f);
album.save();
//子线程异步存储
Album album1 = new Album();
album1.setName("album");
album1.setPrice(10.99f);
album1.saveAsync().listen(new SaveCallback() {
@Override
public void onFinish(boolean success) {
}
});
}
private void delete(){
//根据id删除
LitePal.delete(Album.class,1);
//根据条件删除
LitePal.deleteAll(Album.class, "price > ?" , "350");
}
private void update(){
//根据id更新
Album albumToUpdate = LitePal.find(Album.class, 1);
albumToUpdate.setPrice(20.99f); // raise the price
albumToUpdate.save();
//或
Album albumToUpdate1 = new Album();
albumToUpdate1.setPrice(20.99f); // raise the price
albumToUpdate1.update(1);
//根据字段更新
Album albumToUpdate2 = new Album();
albumToUpdate2.setPrice(20.99f); // raise the price
albumToUpdate2.updateAll("name = ?", "album");
}
private void query(){
//根据id查找
Album albumToUpdate = LitePal.find(Album.class, 1);
//根据实体获取表中全部数据
List<Album> allAlbums = LitePal.findAll(Album.class);
//根据条件查找
List<Album> songs = LitePal.where("name like ? and price < ?", "song%", "200").order("price").find(Album.class);
//子线程异步查询
LitePal.findAllAsync(Album.class).listen(new FindMultiCallback() {
@Override
public <T> void onFinish(List<T> t) {
List<Album> allAlbums = (List<Album>) t;
}
});
}
private void multipleDatabase(){
//如果你的应用程序需要多个数据库
LitePalDB litePalDB = new LitePalDB("demo2", 1);
litePalDB.addClassName(Singer.class.getName());
litePalDB.addClassName(Album.class.getName());
litePalDB.addClassName(Song.class.getName());
LitePal.use(litePalDB);
//如果您只想创建一个新的数据库,但与LitePal.xml具有相同的配置
LitePalDB litePalDB1 = LitePalDB.fromDefault("newdb");
LitePal.use(litePalDB1);
//切换默认数据库
LitePal.useDefault();
//通过数据库名删除已创建的数据库
LitePal.deleteDatabase("newdb");
}
//聚合函数 count()、sum()、average()、max()和min()
private void fuction(){
// count()方法主要是用于统计行数的
int result = LitePal.count(Album.class);
// 使用连缀查询,增加查询条件
int result1 = LitePal.where("price = ?", "0").count(Album.class);
// sum()方法主要是用于对结果进行求合的 *如果要求合的字段是非法的,如String,则返回结果是0。
double result2 = LitePal.sum(Album.class, "price", double.class); // 也可以是float、double
// average()方法主要是用于统计平均数的 *如果要求平均数的字段是非法的,如String,则返回结果是0。
double result3 = LitePal.average(Album.class, "price"); // 默认返回值就是double,因为求平均数大多时候都会有小数,
//使用double可以最大程序保留小数位的精度。
// max()方法主要用于求出某个列中最大的数值
double result4 = LitePal.max(Album.class, "price", double.class);
// min()方法主要用于求出某个列中最小的数值
double result5 = LitePal.min(Album.class, "price", double.class);
}
// 使用注解@Column可以对字段进行约束,共有4种如下约束:
// @Column(unique = true) //是否唯一
// @Column(defaultValue = "unknown") //指定字段默认值
// @Column(nullable = false) //是否可以为空
// @Column(ignore = true) //是否可以忽略
LitePal使用说明
最新推荐文章于 2021-08-13 13:21:40 发布