Android开发经验谈Android开发Android知识

LitePal学习(三)——增删改查

2017-11-28  本文已影响602人  奔跑的佩恩

前言

本文参考
Android数据库高手秘籍(五)——LitePal的存储操作
官网

下面讲讲litepal数据库的增删改查
还是以person类为例,先看看person类代码:

package com.android.model;

/**
 * Title:
 * Description:
 * <p>
 * Created by pei
 * Date: 2017/11/23
 */
public class Person extends DataBaseModel{

    private String name;
    private String sex;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}

一.添加单个数据
                //存储
                Person person=new Person();
                person.setName("花花");
                person.setSex("女");
                //储存状态返回的是布尔值
                boolean save=person.save();
                if(save){
                    LogUtil.e(MainActivity.class,"====存储成功======");
                }else{
                    LogUtil.e(MainActivity.class,"====存储失败======");
                }

save()方法返回一个boolean值,true表示存储成功,false表示存储失败,一般直接用以下代码就行

                //存储
                Person person=new Person();
                person.setName("花花");
                person.setSex("女");
                //储存状态返回的是布尔值
                person.save();
二.添加多条数据
                //存储
                Person person=new Person();
                person.setName("花花");
                person.setSex("女");
                Person person2=new Person();
                person2.setName("小鸣");
                person2.setSex("男");
                List<Person>personList=new ArrayList<>();
                personList.add(person);
                personList.add(person2);
                //批量存储
                DataSupport.saveAll(personList);
三.修改数据

下面例子是将名为“花花”的person改名为"小花":

                //更新
                ContentValues values=new ContentValues();
                values.put("name","小花");
                DataSupport.updateAll(Person.class, values, "name = ?", "花花");
四.删除数据

删除person表中name=“小花”并且“sex=女”的数据:

//删除
 DataSupport.deleteAll(Person.class,"name=? and sex=?","小花","女");

DataSupport.deleteAll(.....)方法返回值为int,表示删除数据的条目数

五.删除整张表的数据

删除person表中的所有数据

                  //删除整张表的数据
                  DataSupport.deleteAll(Person.class);
六.按条件查询

在person表中查询name=“小易”的数据,返回值为list:

List<Person> persons = DataSupport.where("name=?", "小鸣").find(Person.class);
for (Person p : persons) {
      LogUtil.e(MainActivity.class, "====person======" + p.toString());
}
六.查询整张表

查询Person表中所有数据

//查询所有
List<Person> allPersons = DataSupport.findAll(Person.class);
if(CollectionUtil.isEmpty(allPersons)){
     LogUtil.e(MainActivity.class,"======person表没有数据=====");
}else{
    for (Person p : allPersons) {
           LogUtil.e(MainActivity.class, "====person======" + p.toString());
    }
}

其实,litePal的查询还有很多方法,这里只是做简单讲解,更多的可以看本文前言的链接。
ok,今天就讲到这里啦。

上一篇 下一篇

猜你喜欢

热点阅读