LitePal

简介

LitePal是一款开源的Android数据库开发框架,采用了对象关系映射(ORM)的模式(即将面向对象的语言和面向关系的数据库之间建立一种映射关系),对数据库的常用功能进行了封装,实现建表和增删改查的功能。

配置LitePal

1. 添加依赖项

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

2. 配置litepal.xml文件


    
    
    
    
    
    
        
        
        
    

3. 修改AndroidManifest.xml文件

将项目的application配置为org.litepal.LitePalApplication

android:name="org.litepal.LitePalApplication"

创建和升级数据库

1.创建实体类

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.创建数据库

Connector.getDatabase();

基本操作

1.添加数据

Province province = new Province();
                    //解析出省份的id并将其赋值给province对象
                    province.setProvinceCode(provinceObject.getInt("id"));
                    //解析出省份的name并将其赋值给province对象
                    province.setProvinceName(provinceObject.getString("name"));
                    //将这一个省份保存到表中
                    province.save();

2.更新数据

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

3.删除数据

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

4.查询数据

List 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的基本操作。

你可能感兴趣的:(LitePal)