LitePal

簡介

LitePal是一款開源的Android數(shù)據(jù)庫開發(fā)框架,采用了對象關(guān)系映射(ORM)的模式(即將面向?qū)ο蟮恼Z言和面向關(guān)系的數(shù)據(jù)庫之間建立一種映射關(guān)系),對數(shù)據(jù)庫的常用功能進行了封裝,實現(xiàn)建表和增刪改查的功能。

配置LitePal

1. 添加依賴項

compile 'org.litepal.android:core:1.3.2'

2. 配置litepal.xml文件

<litepal>
    <!--dbname 為數(shù)據(jù)庫的名字-->
    <dbname value="cool_weather"/>
    <!--數(shù)據(jù)庫版本指定為1-->
    <version value="1"/>
    <!--將實體類添加到映射列表中-->
    <list>
        <mapping class="com.example.stardream.coolweather.db.Province"/>
        <mapping class="com.example.stardream.coolweather.db.City"/>
        <mapping class="com.example.stardream.coolweather.db.County"/>
    </list>
</litepal>

3. 修改AndroidManifest.xml文件

將項目的application配置為org.litepal.LitePalApplication

android:name="org.litepal.LitePalApplication"

創(chuàng)建和升級數(shù)據(jù)庫

1.創(chuàng)建實體類

package com.example.stardream.coolweather.db;

import org.litepal.crud.DataSupport;

/**
 * Created by StarDream on 2018/8/22.
 */
//LitePal中的每一個實體類都應該繼承DataSupport
public class Province extends DataSupport {
    private int id;  //實體類具有的id
    private String provinceName;  //省份的名字
    private int provinceCode;  //省的代號

    public int getId() {
        return id;
    }

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

    public String getProvinceName() {
        return provinceName;
    }

    public void setProvinceName(String provinceName) {
        this.provinceName = provinceName;
    }

    public int getProvinceCode() {
        return provinceCode;
    }

    public void setProvinceCode(int provinceCode) {
        this.provinceCode = provinceCode;
    }
}

City實體類和County實體類同理。每個實體類代表一張表,實體類中的屬性代表表中的每一列。

2.創(chuàng)建數(shù)據(jù)庫

Connector.getDatabase();

基本操作

1.添加數(shù)據(jù)

Province province = new Province();
                    //解析出省份的id并將其賦值給province對象
                    province.setProvinceCode(provinceObject.getInt("id"));
                    //解析出省份的name并將其賦值給province對象
                    province.setProvinceName(provinceObject.getString("name"));
                    //將這一個省份保存到表中
                    province.save();

2.更新數(shù)據(jù)

province.setProvinceName("北京");
province.save();
//或者還有一種簡介更新方式
province.updateAll("provinceName=?","北京");

3.刪除數(shù)據(jù)

DataSupport.deleteAll(Province.class,"name = ?","北京");

4.查詢數(shù)據(jù)

List<Province> provinces = DataSupport.findAll(Province.class);
for(Province province :provinces){
  Log.d("Activity","Province name is"+province.getProvinceName());
}
//另外還可以這樣查詢
cityList = DataSupport.where("provinceId = ?",String.valueOf(selectedProvince.getId())).find(City.class);
        for(City city : cityList){
            if(city.getProvinceId() == selectedProvince.getId()){
                cityListNum++;
            }
        }

以上就是LitePal的基本操作。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容