LitePal

作者: Aptitude | 来源:发表于2018-08-26 20:52 被阅读0次

简介

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

配置LitePal

1. 添加依赖项

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

2. 配置litepal.xml文件

<litepal>
    <!--dbname 为数据库的名字-->
    <dbname value="cool_weather"/>
    <!--数据库版本指定为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"

创建和升级数据库

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

相关文章

  • litepal数据库问题

    LitePal项目地址[https://github.com/guolindev/LitePal] litepal...

  • LitePal

    LitePal 最新dependencies compile 'org.litepal.android:core:...

  • LitePal学习(二)——数据库升级

    前言 在LitePal学习(一)——配置讲过了LitePal的基本配置,这里讲讲LitePal的数据库升级吧。 讲...

  • LitePal的使用

    不怕跌倒,所以飞翔 本文知识点介绍 LitePal的集成和简单的使用 LitePal中实现增删改查 LitePal...

  • LitePal For Android(替代SQLite传统操作

    Github地址 LitePal配置 引用jar包引用litepal-1.6.0.jarlitepal-1.6.0...

  • LitePal框架数据存储

    一、使用LitePal操作数据库 (1)将LitePal的jar包引入到项目当中LitePal的最新版本(2)在项...

  • LitePal数据库框架的简单介绍及使用

    相信我,当你用上 LitePal 之后,你将再也不想去碰 SQLiteDatabase 了。 LitePal是一款...

  • LitePal

    简介 LitePal是一款开源的Android数据库开发框架,采用了对象关系映射(ORM)的模式(即将面向对象的语...

  • LitePal

    首先在dependencies闭包添加依赖 在APP目录下创建assets 定义要写入数据库中的类 在Activi...

  • LitePal

    关于LitePal(github地址) 数据库相关(表关联):一对一:数据表根据外键进行关联(哪个表添加外键都可以...

网友评论

      本文标题:LitePal

      本文链接:https://www.haomeiwen.com/subject/llcuiftx.html