强大的Android数据库框架之LitePal

LitePal框架的使用

1.简介

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

2.用LitePal创建数据库

2.1导入依赖
implementation 'org.litepal.android:core:1.6.1'
2.2配置文件litepal.xml的配置
  1. 新建assets文件夹
    该目录创建在app/src/main文件夹下,并且与java和res文件夹同级。
  2. 在assets文件夹下创建litepal.xml文件,在该文件里面编写数据库的相关属性,具体内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<litepal>
    <!--    数据库名  -->
    <dbname value="file"></dbname>
    <!--    数据库版本号  -->
    <version value="1"></version>
    <list>
        <!--    数据表:用于指定所有的映射模型-->

    </list>
</litepal>
2.3配置AndroidManifest.xml文件中的内容,在 下增加内容以下内容。(内容固定)
android:name="org.litepal.LitePalApplication"
2.4创建数据表
  1. 创建一个类(类就相当于数据库里面的数据表,相应字段就是数据表里面的字段)
    根据对象关系映射模式的理念,每一张表都应该对应一个模型(Model),也就是说,如果我们想要建一张Book表,就应该有一个对应的Book模型类。
    新建一个Book类,LitePal要求所有的实体类都要继承自DataSupport这个类。
public class Book extends DataSupport {
    private String title;
    private float price;
    private String name;

    public Book(String title, float price, String name) {
        this.title = title;
        this.price = price;
        this.name = name;
    }

    public Book(int price, String name) {
        this.price = price;
        this.name = name;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public float getPrice() {
        return price;
    }

    public void setPrice(float price) {
        this.price = price;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
  1. 将这个类引入到litepal.xml文件的list标签里面
<mapping class="com.example.litepal.Book"></mapping>

效果如下图所示

<?xml version="1.0" encoding="utf-8" ?>
<litepal>
<!--    数据库名  -->
<dbname value="file"></dbname>
<!--    数据库版本号  -->
<version value="1"></version>
<list>
    <!--    数据表:用于指定所有的映射模型-->
    <mapping class="com.example.litepal.Book"></mapping>

</list>
</litepal>

数据库的创建完成

3.数据库的操作(增、删、改、查)

3.1数据表里面数据的添加
Book book=new Book("python数据分析",45.2f,"人民教育出版社");
book.save();
Book book1=new Book("Hadoop开发与实战",62.3f,"人民教育出版社");
book1.save();
3.2数据表里面数据的删除
DataSupport.deleteAll(Book.class, "title =?", "python数据分析");  

Book book4 = new Book("Hadoop开发与实战", 20.6f, "人民教育出版社");
book4.save();
book4.delete();
3.3数据表里面数据的更新
Book book5=new Book("数据分析",65.9f,"人民教育出版社");
book5.save();
book5.setPrice(15.6f);
book5.save();
3.4数据表里面数据的查询
  1. 查询全部
List<Book> date= DataSupport.findAll(Book.class);
  1. 精确查询
//根据书名查找,并按照某字段排序
List<Book> books_ = LitePal.where("title= ?","python数据分析").order("price").find(Book.class);

参考文档:
https://www.jianshu.com/p/b3ba76aee2b9
https://github.com/LitePalFramework/LitePal

猜你喜欢

转载自www.cnblogs.com/ldy731729142/p/13187122.html