Android数据库 之 开源LitePal

来源:互联网 发布:python零基础入门pdf 编辑:程序博客网 时间:2024/06/06 05:07

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文件,添加如下内容

<?xml version="1.0" encoding="utf-8"?><litepal>    //数据库名称    <dbname value="sample" ></dbname>    //数据库版本    <version value="1" ></version>    <list>    //添加的对应的java bean 模型  ,即创建的你要存储在数据库中的数据的模型        <mapping class="com.bean.BookBean"></mapping>    </list></litepal>

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<Bean> 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使用起来还是很简单的。

0 0
原创粉丝点击