您的位置:首页 > 移动开发 > Android开发

Android数据库 之 开源LitePal

2016-03-29 18:39 549 查看
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使用起来还是很简单的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: