一.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);