Android数据库SQLite操作详解及LitePal用法详解(四)

接下来我们继续学习使用LitePal进行数据的增删改查的操作:
v
- 增加数据
想要存储一条数据到Album表当中,存储两条数据到song中

        //使用LitePal增加数据
        Album album = new Album();
        album.setName("album");
        album.setPrice(10.99f);
        album.save();

        Song song1 = new Song();
        song1.setName("song1");
        song1.setDuration(320);
        song1.setAlbum(album);
        song1.save();

        Song song2 = new Song();
        song2.setName("song2");
        song2.setDuration(356);
        song2.setAlbum(album);
        song2.save();

这里写图片描述
可以看到数据已经添加成功,并且album和song进行了关联。

现在我们如果要保存一个集合,是不是需要这样遍历每一个对象然后再添加进去呢,那不是太麻烦了?

LitePal提供一个方法可以直接添加集合

DataSupport.saveAll(songsList);  

- 删除数据
删除数据需要调用DataSupport中的delete()方法,

DataSupport.delete(Song.class, id);

或者批量删除数据,表示持续时间大于350的都会被删除
DataSupport.deleteAll(Song.class, “duration > ?” , “350”);

- 修改数据
最简单的方式时通过find()和save()两个方法来修改数据,就是先找出你要修改的数据,修改后进行保存。其中find()有许多相似的方法,比如findFirst(),findLast(),findAll(),用法大同小异,只是功能不一样,具体可以查看源码。

Album albumToUpdate = DataSupport.find(Album.class, 1);
albumToUpdate.setPrice(20.99f); // 提高价格
albumToUpdate.save();

第二种方法需要new出对象后调用update方法

Album albumToUpdate = new Album();
albumToUpdate.setPrice(20.99f); // raise the price
albumToUpdate.update(id);

第三种可以加限定条件:

Album albumToUpdate = new Album();
albumToUpdate.setPrice(20.99f); // raise the price
albumToUpdate.updateAll("name = ?", "album");

- 查询数据
还记不记得之前传统的查询方式,我的妈妈咪呀,那个参数一长串,而使用LitePal就简单很多,细心的朋友可能已经注意到了,我们在更新数据的时候已经使用了查询方法,对,就是

Album albumToUpdate = DataSupport.find(Album.class, 1);

是不是简单到哭

再看看如何查询整个表

List<Song> allSongs = DataSupport.findAll(Song.class);

使用聚合函数的查询方式

List<Song> songs = DataSupport.where("name like ?", "song%").order("duration").find(Song.class);

好了,总体上关于数据库的内容结束了,如果还有细节上的问题,我会再修改的,最后感谢郭神的教程,以及开源框架LitePal

LitePal开源框架Github地址

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值