解读郭神LitePal源码-litepal.xml的解析

在开始使用LitePal时,要求在项目的assets目录下新建一个litepal.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<litepal>
    <dbname value="Questionnaire"/>

    <version value="1"></version>

    <list>
        <mapping class="com.aliao.parser.entity.UserInfo"></mapping>
        <mapping class="com.aliao.parser.entity.SurveyInfo"></mapping>
    </list>

</litepal>


该配置文件用来设定数据库的名字、版本号以及所有的对象关系映射模型。

什么是对象关系映射模型?

因为sqlite数据库是关系型数据库,而编程是面向对象的,为了使用面向对象的方式来操作数据库,所以在关系数据库和实体对象之间做了一个映射,这样在进行数据库操作的时候,我们只需要操作实体对象即可,不需要直接处理sql语句。

在litepal.xml文件的<list>标签里来设置需要进行映射的对象,数据库里的每一张的表都对应一个实体对象类。


一个litepal.xml文件让我们在进行数据库基本信息配置上变得异常方便,那程序是怎么来获取到我们配置后的信息呢?

首先需要通过解析xml文件来获取到数据库名,版本信息,以及需要映射的对象。在Litepal里使用SAXParser来解析xml,那解析后的信息放在哪里呢,是由LitePalAttr该实体类来接收从litepal.xml里读取到的所有属性值。


本来想直接贴源码的,还是立足源码自己手动实现一下好了,勤奋宝宝在咬我,biaji biaji biaji~~~


创建一个LitePalAttr实体类,对应litepal.xml的属性及其set/get方法:

package com.aliao.parser.entity;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by aliao on 2015/6/4.
 */
public class LitePalAttr {

    private static LitePalAttr litePalAttr;

    //数据库版本号
    private int version;
    //数据库名
    private String dbName;
    //所有在数据库中想要有映射关系的实体类
    private List<String> classNames;

    public int getVersion() {
        return version;
    }

    public void setVersion(int ver
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值