LitePal框架的使用
1.簡介
LitePal是一款開源的Android數據庫框架,采用了對象關系映射(ORM)的模式,將平時開發時最常用的一些數據庫功能進行了封裝,使得開發者不用編寫一行SQL語句就可以完成各種建表、増刪改查的操作。
2.用LitePal創建數據庫
2.1導入依賴
implementation 'org.litepal.android:core:1.6.1'
2.2配置文件litepal.xml的配置
- 新建assets文件夾
該目錄創建在app/src/main文件夾下,並且與java和res文件夾同級。 - 在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創建數據表
- 創建一個類(類就相當於數據庫里面的數據表,相應字段就是數據表里面的字段)
根據對象關系映射模式的理念,每一張表都應該對應一個模型(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;
}
}
- 將這個類引入到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數據表里面數據的查詢
- 查詢全部
List<Book> date= DataSupport.findAll(Book.class);
- 精確查詢
//根據書名查找,並按照某字段排序
List<Book> books_ = DataSupport.where("title= ?","python數據分析").order("price").find(Book.class);
參考文檔:
https://www.jianshu.com/p/b3ba76aee2b9
https://github.com/LitePalFramework/LitePal
