LitePal操作数据库详解

1. LitePal简介

LitePal是一款开源的Android数据库框架,它采用了对象关系映射(ORM)的模式,并将我们平时开发最常用的一些数据库功能进行了封装,是的不用编写一行SQL语句就可以完成各种建表和增删改查的操作。

2.LitePal的配置

第一步就是编辑app/build.gradle文件,在dependencies闭包中添加如下内容

compile'org.litepal.android:core:1.4.1' //1.4.1是版本号的意思,最新的版本号可以到LitePal的项目主页上看看

第二步就是配置litepal.xml文件 右击app/src/main目录->New->Directory,创建一个assets目录,然后在assets目录下再新建一个litepal.xml文件,接着编辑litepal.xml文件中的内容,如图

<?xml version="1.0" encoding="utf-8" ?>
<litepal>
    <!-- 数据库名 -->
    <dbname value="Student"></dbname>
    <!-- 版本号 -->
    <version value="1"></version>
    <!-- 创建表 -->
    <list>
        <mapping class="映射的javaBean的完整类名"></mapping>
    </list>
</litepal>
最后还要配置下Application,修改AndroidManifest.xml中的代码,如图
<application
    android:name="org.litepal.LitePalApplication" //添加这一行即可
    ...
</application>

3.创建数据库和表

1). 需要一个JavaBean对象,也就是数据库的表,比如我想要创建一个Student的表格,如图

public class Student extends DataSupport{

    private int id;
    private String name;//姓名
    private int studentId;//学号
    private String sex;//性别

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

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

    public int getStudentId() {
        return studentId;
    }

    public void setStudentId(int studentId) {
        this.studentId = studentId;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}
2).修改litepal.xml中的代码,如下图
<?xml version="1.0" encoding="utf-8" ?>
<litepal>
    <!-- 数据库名 -->
    <dbname value="Student"></dbname>
    <!-- 版本号 -->
    <version value="1"></version>
    <!-- 创建表 -->
    <list>
        <mapping class="com.example.litepal.Student"></mapping> //修改这一行即可
    </list>
</litepal>
在mainactivity中加入一行代码
LitePal.getDatabase();

运行程序后,在adb中就可以看到创建的数据库和表,也可以在data/data/包名的文件下看到数据库已经创建了

4.使用LitePal添加数据

在MainActivity中添加一个按钮,实现点击按钮添加数据,在onClick方法中写入

Student student = new Student();
    student.setName(name);
    student.setSex(sex);
    student.setStudentId(Integer.parseInt(studentId));
    student.save();  //save()方法是从DataSupport方法中继承而来的,除了save()方法,DataSupport类还可以我们提供了丰富的CRUD方法

5使用LitePal删除数据

只要一行代码

DataSupport.deleteAll(Student.class, "id = ?", id +"");

第一个参数用于指定删除哪张表中的数据,Student.class就意味着删除Student表中的数据,后面的参数用于指定约束条件,比如

DataSupport.deleteAll(Student.class, "id < ?", "15");  //表示删除id小于15的行

6使用LitePal更新数据

Student student = new Student();
    student.setName(name);
    student.setSex(sex);
    student.setStudentId(Integer.parseInt(studentId));
    student.updateAll("id = ?", id+"");

7使用LitePal查询数据

使用LitePal查询数据相比于sqlite一点都不复杂,想想之前用的query()方法,冗长的参数列表让人看得头疼

使用LItePal只要这样写就可以实现

List<Student>students=DataSupport.findAll(Student.class);

例如实现点击一个按钮,显示出表中所有Student的名字,在button的onClick方法中

List<Student>students=DataSupport.findAll(Student.class);
for(Student student:students){
Log.d("MainActivity",student.getName());
}

看到这,对于LitePal应该是没什么问题啦,有问题私聊哦!

第一次写博客!!!觉得好的话给个赞哈!






猜你喜欢

转载自blog.csdn.net/qq_35647047/article/details/80151738