官方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);新聞熱點
疑難解答