Android网络框架之数据库框架litePal

时间:2022-10-21 07:57:19

一.LitePal的基础知识

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

Github中的链接地址:
https://github.com/LitePalFramework/LitePal

(一)使用LitePal的基本步骤:

1.导入jar

dependencies {
//AndroidStudio依赖
compile 'org.litepal.android:core:1.4.1'

}

2.新建xml

在asstes中 建立 litepal.xml 文件

<?xml version="1.0" encoding="utf-8"?>

<litepal>

<dbname value="数据库名称" ></dbname>

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

<list>

<!-- 所有原型:包名+类名,类继承DataSupport,这时不用声明表名和列名,
它会帮你创建,生成的表名是类名的小写,列名是各属性的值,但是要注意这里不能搞内部类,否则它不能识别! -->


<mapping class="com.lwz.mathbox.bean.TopicBean"></mapping>

</list>

</litepal>

3.使用自定义Application在onCreate中初始化

LitePal.initialize(this);

4.定义原型,要继承DataSupper

public class Album extends DataSupport {

@Column(ignore = true)忽略 不存储在数据库
private String name;
private float price;
private byte[] cover;
private List<Song> songs = new ArrayList<Song>();
// 设置getters and setters.

...

}

(二)使用数据库时的操作方法

1.增加保存

Album album = new Album();
album.setName("album");
album.setPrice(10.99f);
album.setCover(getCoverImageBytes());
album.save();

2.修改

Album albumToUpdate = DataSupport.find(Album.class, 1);
albumToUpdate.setPrice(20.99f); //改变price的值
albumToUpdate.save();

3.删除

DataSupport.delete(Album.class, id);

4.查询.

1)根据id查询

Album song = DataSupport.find(Album.class, id);

2)查询所有

List<Album> allSongs = DataSupport.findAll(Album.class);

3)根据条件查询

List<Album> songs = DataSupport.where("name like ?", "song%").order("duration").find(Album.class);