SQLite开源库LitePal
来源:互联网 发布:网络被劫持了怎么办 编辑:程序博客网 时间:2024/06/09 19:26
官方Github地址:
https://github.com/LitePalFramework/LitePal
本文章开源Demo地址:
https://github.com/EverZc/SQLitePal
使用:
首先配置AndroidManifest.xml
android:name="org.litepal.LitePalApplication"
assets文件夹中新建XML文件
<?xml version="1.0" encoding="utf-8"?><litepal> <dbname value="BookStore"></dbname> <version value="1"></version> <list> <!--映射表--> <mapping class="com.zc.myapplication.BookTable"></mapping> </list></litepal>
创建表
Connector.getDatabase();
升级数据库的时候 只需要在Util中直接添加想要的列就可以. LitePal会自行保存之前的数据的.
添加数据
首先让表继承 DataSupport
Book book=new Book(); book.setName("西游记"); book.setAuthor("吴承恩"); book.setPages(456); book.setPrice(16.96); book.setPress("未知"); //调用此方法完成添加数据操作 book.save();
更新数据
Book book=new Book(); book.setPrice(19.666); book.setPress("中华出版社"); //约束条件 类似于where book.updateAll("name=? and author=?","钢铁是怎样练成的","奥斯托洛夫斯基");
删除数据
//删除有约束条件的数据 DataSupport.deleteAll(Book.class,"price<?","18"); //删除ID为2的数据 DataSupport.delete(Book.class, 2); //删除整个表的数据 DataSupport.delete(Book.class);
查询数据
List<Book> books=DataSupport.findAll(Book.class); for (Book book:books){ Log.d("------",book.getName()); Log.d("------",book.getAuthor()); Log.d("------",book.getPress()); Log.d("------", String.valueOf(book.getPrice())); Log.d("------", String.valueOf(book.getPages())); } //查询表第一个数据 Book first=DataSupport.findFirst(Book.class); //查询表最后一个数据 Book last=DataSupport.findLast(Book.class); Log.e("------", first.toString()); Log.e("------", last.toString()); //查询哪几列的数据,对应SQL关键字select List<Book> books=DataSupport.select("name","author").find(Book.class); //where方法用于指定查询的约束条件 对应SQL关键字where List<Book> books1=DataSupport.where("pages>?","400").find(Book.class); //order 用于指定结果的排序方式 desc表示降序 asc或者默认表示升序 List<Book> books2=DataSupport.order("price desc").find(Book.class); //limit 方法用于指定查询结果的数量 例如如下查询3条 List<Book> books3=DataSupport.limit(3).find(Book.class); //offset()用于指定查询结果的偏移量,比如查询第2 3 4条数据 List<Book> books4=DataSupport.limit(3).offset(1).find(Book.class); //任意组合一个 List<Book> books5=DataSupport.select("name","pages") .where("pages>?","400") .order("pages") .limit(10) .offset(10) .find(Book.class);
0 0
- SQLite开源库LitePal
- 开源库LitePal
- Android sqlite 之LitePal的使用
- 数据存储之SQLite与LitePal<一>
- Android中使用LitePal操控SQLite数据库
- litepal开源库的使用
- 开源库LitePal的用法
- LitePal
- litepal
- LitePal
- Litepal
- litepal
- litepal
- android数据库框架,sqlite框架,LitePal框架,混淆配置
- andbase中sqlite的orm框架litepal支持Bitmap存储
- 安卓数据库框架LitePal(一):SQLite命令
- 关于Litepal第三方初始化SQlite数据库数据的方法
- Android数据库(SQLite)框架——LitePal实战入门
- 索引失效的情形
- 关于热修复需要了解的
- Windows下我的sublime text3
- PHP打开乱码问题
- android6.0如何删除桌面上的导航栏、状态栏、google搜索栏和系统搜索栏
- SQLite开源库LitePal
- String、StringBuffer 和 StringBuilder 的区别
- 不同编程语言之间的函数的关联
- ViewPager java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
- jQuery学习 二 jQuery 效果
- python topn
- 树-堆结构
- iOS 一些相似属性的理解
- 自定义控件之九宫格