LitePal的使用

SQLite对于Android开发者都是必须要掌握的一项技能,但是使用SQLite,要写很多内容,创建表,对表的操作等等。下面介绍一个开源框架LitePal,能够快速的实现,对表的操作,地址:https://github.com/LitePalFramework/LitePal
步骤:
1.集成

implementation 'org.litepal.android:java:3.0.0'

2.在main目录下创建assets目录,创建litepal.xml文件

【LitePal的使用】3.配置AndroidManifest.xml

4.创建表
LitePal.getDatabase();

通过adb shell命令可以查看建表语句

LitePal的使用
文章图片
建表语句.png
5.修改表
如果想要在表book中添加一个字段des,还有想要添加一张表categroy的时候,只需要在Book的实体中添加字段des,创建实体categroy,然后修改litepal.xml文件即可
litepal.xml修改结果

通过adb shell查看数据库的变化

LitePal的使用
文章图片
数据库的变化.png
6.表里添加数据
Book book = new Book(); book.setName("Android开发"); book.setAuthor("涵涵"); book.setPages(555); book.setPrice(18.88); book.save();


LitePal的使用
文章图片
数据查询.png
7.更新数据
//更新方法1 Book upBook = LitePal.find(Book.class,1); if (upBook!=null) { upBook.setPrice(26.6); upBook.setPages(500); upBook.save(); }

LitePal的使用
文章图片
更新1.png
Book upBook2 = new Book(); upBook2.setPrice(29.9); upBook2.update(1);


LitePal的使用
文章图片
更新2.png
8.删除数据
先增加3条数据
LitePal的使用
文章图片
数据源.png
LitePal.delete(Book.class,1);

LitePal的使用
文章图片
删除数据1.png
批量删除
LitePal.deleteAll(Book.class,"pages > ?","500");


LitePal的使用
文章图片
批量删除.png
9.查询
//根据id查询 Book book2 = LitePal.find(Book.class, 4); //查询全部 List bookList = LitePal.findAll(Book.class); for (Book book3 : bookList) { Log.e("tag", book3.toString()); }//条件查询 List pages = LitePal.where("author like ? and pages > ?", "郭%","500").order("pages desc").find(Book.class); //限制数量 List books = LitePal.limit(10).offset(10).find(Book.class);

查询数据和添加数据可能是一个大的耗时操作,可以异步操作
//多线程查询 LitePal.findAllAsync(Book.class).listen(new FindMultiCallback() { @Override public void onFinish(List list) {} }); //耗时保存操作 book.saveAsync().listen(new SaveCallback() { @Override public void onFinish(boolean success) {} });

    推荐阅读