LitePal的使用——Android开源数据库
生活随笔
收集整理的這篇文章主要介紹了
LitePal的使用——Android开源数据库
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文知識點
1. LitePal的集成
- 引入相應的類庫
- 創建litepal.xml
- 更換繼承的Application
1.1 引入相應的類庫
//litepal數據庫implementation 'org.litepal.guolindev:core:3.2.3'1.2 創建litepal.xml
litepal.xml是在assets文件夾下,
項目main路徑下New->Folder->AssetsFolder就可以創建相應的assets文件夾,
然后在assets文件夾下創建一個相應的litepal.xml文件夾。
- dbname標簽是相應的數據庫名稱
- version標簽是相應的數據庫的版本 (當里面引用的內容發生改變的時候,要升級相應的版本)
- list標簽哪些對象需要數據庫管理 (mapping里面的路徑一定要是全路徑名稱) (list標簽中的實體類都應該繼承LitePalSupport這個類)
1.3 更換繼承的Application
(1)已經有繼承的Application
(2)直接繼承LitePalApplication
(1)已經有繼承的Application
直接在Application的onCreate方法中對數據庫進行初始化
@Overridepublic void onCreate() {super.onCreate();//數據庫初始化LitePal.initialize(this);}(2)直接繼承LitePalApplication
直接繼承相應的LitePalApplication這里就不用在onCreate()中調用LitePal.initialize(this);
在application標簽中添加Application的時候要這樣寫
android:name="org.litepal.LitePalApplication"
2.LitePal中實現增刪改查
2.1 新增數據
使用save()方法
Book book = new Book(); book.setAuthor("王天一"); book.setName("王天一的第一本書"); book.save();2.2 刪除數據
delete()或者deleteAll()進行刪除
Book book = new Book(); book.setAuthor("王天二"); book.setName("王天二的第一本書"); book.save(); book.delete(); //刪除book表中price=44.6786的這條數據 LitePal.deleteAll(Book.class, "name = ?", "王天二");2.3 更新數據
1、更改完相應的數據直接save保存
2、updateAll方法實現
2.4 查詢數據
主要用到find()和findAll()等相應的方法、
//查詢所有數據 List<Book> bookList = LitePal.findAll(Book.class);//查詢第一條數據 Book firstBook = LitePal.findFirst(Book.class);//查詢最后一條數據 Book lastBook = LitePal.findLast(Book.class);//按照條件查詢 //(1)select()方法用于指定查詢哪幾列的數據,對應sql中的select關鍵字 List<Book> books = LitePal.select("name", "author").find(Book.class);//(2) where()用于指定查詢的約束條件,對應了sql中的where關鍵字 List<Book> books1 = LitePal.where("page > ?", "100").find(Book.class);//(3) order()方法用于指定結果的排序方式,對應了sql當中的order by 關鍵字 List<Book> books2 = LitePal.order("price desc").find(Book.class);//(4) limint()方法用于指定查詢結果的數量 List<Book> books3 = LitePal.limit(3).find(Book.class);//查詢表中前3條數據//(5)offset() 方法用于指定查詢結果的偏移量 List<Book> books4 = LitePal.limit(3).offset(1).find(Book.class);//查詢表中第2條、第3條、第4條數據//(6) 組合使用查詢 List<Book> books5 = LitePal.select("name", "author").where("page > ?", "100").order("price").limit(3).offset(2).find(Book.class);//查詢Book表中第3~5條滿足page>100頁這個條件的name、author這兩列數據,并且查詢結果按照price升序排序//LitePal使用原聲SQL查詢 Cursor cursor = LitePal.findBySQL("select * form Book where page > ? and price < ?", "100", "60");3.LitePal常用的API
- 查詢第一條數據
LitePal.findFirst(Book.class); - 查詢最后一條數據
LitePal.findLast(Book.class); - select()方法用于指定查詢哪幾列的數據,對應sql中的select關鍵字 LitePal.select(“name”,“author”).find(Book.class);
- where()用于指定查詢的約束條件,對應了sql中的where關鍵字
LitePal.where(“page > ?”, “100”).find(Book.class); - order()方法用于指定結果的排序方式,對應了sql當中的order by 關鍵字 LitePal.order(“price desc”).find(Book.class);
- limint()方法用于指定查詢結果的數量
LitePal.limit(3).find(Book.class);//查詢表中前3條數據 - offset() 方法用于指定查詢結果的偏移量
LitePal.limit(3).offset(1).find(Book.class);//查詢表中第2條、第3條、第4條數據
總結
以上是生活随笔為你收集整理的LitePal的使用——Android开源数据库的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenCV图像分割-watershed
- 下一篇: ISTJ 检查员型