Android数据库 之 开源LitePal

LitePal简介

LitePal是一款开源的Android数据库框架,它采用了对象关系映射(ORM)的模式,并将我们平时开发时最常用到的一些数据库功能进行了封装,使得不用编写一行SQL语句就可以完成各种建表、増删改查的操作。并且LitePal很“轻”,jar包只有100k不到,而且近乎零配置,这一点和Hibernate这类的框架有很大区别。目前LitePal的源码已经托管到了GitHub上,地址是 https://github.com/LitePalFramework/LitePal 。

LitePal配置

1.添加LitePal支持,下载jar,放入工程中,这里是Android Studio加载了jar包后再build文件中的配置显示 compile files(‘libs/litepal-1.3.1-src.jar’)

2.新建assets文件夹,并新建一个litelpal.xml文件,添加如下内容

"1.0" encoding="utf-8"?>

    //数据库名称
    "sample" >
    //数据库版本
    "1" >
    
    //添加的对应的java bean 模型  ,即创建的你要存储在数据库中的数据的模型
        "com.bean.BookBean">

    

3.创建数据模型,下面提供BookBean的代码,创建的数据模型格式代码如下:

package com.bean;
//首先创建的bean需要继承DataSupport,后面所有的数据库操作基本都是基于这个类进行操作的
public class BookBean extends DataSupport{
    private long id;
    private String url;
    private String urlTitle;
    private String imageUrl;
    private long timeStamp;

    public long getTimeStamp() {
        return timeStamp;
    }

    public void setTimeStamp(long timeStamp) {
        this.timeStamp = timeStamp;
    }

    public long getId() {
        return id;
    }

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

    @Override
    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getUrlTitle() {
        return urlTitle;
    }

    public void setUrlTitle(String urlTitle) {
        this.urlTitle = urlTitle;
    }

    public String getImageUrl() {
        return imageUrl;
    }

    public void setImageUrl(String imageUrl) {
        this.imageUrl = imageUrl;
    }

    @Override
    public String toString() {
        return "BookmarksBean{" +
                "id=" + id +
                ", url='" + url + '\'' +
                ", urlTitle='" + urlTitle + '\'' +
                ", imageUrl='" + imageUrl + '\'' +
                ", timeStamp=" + timeStamp +
                '}';
    }
}

3.Application继承LitePalApplication,或者通过下面方式

public class MyApplication extends Application {
    private static MyApplication instance;
    @Override
    public void onCreate() {

        super.onCreate();
        instance = this;
        //初始化LitePalApplication
        LitePalApplication.initialize(this);

        }

    public static MyApplication getInstance() {
        return instance;
    }
}

完成以上的步骤,那么数据库的基本配置就完成了,下面我们看下,LitelPal是如何操作数据库的增删改查操作的,当然,这里只给出部分功能的代码,其他的API,大家可以根据给出的示例,自行研究。

LitePal使用

1.数据库的插入操作
在这里提醒大家一句:使用litePal创建的不管是数据库的库还是数据库的表名,都是小写的名字,同时创建的数据库的表名是根据java bean的名字的所有小写格式创建的,所有数据表中的列名是根据实体类中属性的所有小写格式创建的。比如实体类名字是Bean ,则数据库的名字是bean;如果列名是timeStamp,则实际的列名是timestamp,即没有大写格式。

//完成以下代码,则会在数据表 bean 中创建一条下面所设置的信息的数据库语句。
        Bean bean = new Bean();
        bean.setUrl("baidu");
        bean.setImageUrl("baidu.img");
        bean.setTimeStamp(DateUtils.getCurrentTimestamp()-100000000+"");
        bean.setTitle("百度");
        bean.save();

2.数据库查询功能

//查询数据库中的第二行数据
 DataSupport.find(Bean.class,1);
//查询数据库中所有数据
DataSupport.findAll(Bean.class);
//通过数据库语句进行数据查询
 Cursor cursor = DataSupport.findBySQL("select * from historybean where timestamp between " + 条件1+ " and " + 条件2);
//offset偏移20,即从第20行开始进行查询
//limit 限制查询20条数据
 List beans = DataSupport.order("id desc").offset(20).limit(20).find(Bean.class);

3.数据库删除功能

//下面的语句是删除所有数据,返回值为删除的数据库的行数
 int i = DataSupport.deleteAll(Bean.class, "");

4数据库更新功能

ContentValues values = new ContentValues();
values.put("title", "微信");
DataSupport.update(Bean.class, values, 2);

好了,经过上述的代码呢,基本讲解了对LitePal的使用增删改查功能,当然,LitePal还有其他的一些统计,计数,获取最大最小值,获取首行数据,最后一行数据等功能,大家可以自己尝试着去使用一下,相对来说,litePal的API使用起来还是很简单的。

你可能感兴趣的:(Android,android,数据库,LitePal)