日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

LitePal的使用——Android开源数据库

發布時間:2023/12/10 Android 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LitePal的使用——Android开源数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文知識點

  • LitePal的集成
  • LitePal實現數據庫的增刪改查
  • LitePal常用的API
  • 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文件夾。

    <?xml version="1.0" encoding="utf-8"?> <litepal><!--數據庫名--><dbname value="BookStore" /><!--數據庫版本號--><version value="1" /><!--映射模型--><list><mapping class="com.fw.androidone.sqlitelitepal.entity.Book" /></list> </litepal>
    • 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方法實現

    //方式一:對已經存儲的數據進行更新 Book book = new Book(); book.setAuthor("王天二"); book.setName("王天二的第一本書"); book.save(); // 重新修改價格,然后點用save方法, // 此時,litapal數據庫中會發現該數據之前已經存儲在數據庫中,所以進行更新價格操作。而不會重新插入一條數據。 book.setName("王天三"); book.save(); //方式二:updateAll方法實現 Book book1 = new Book(); book1.setPrice(44.6786); book1.updateAll("name = ? and author = ?", "王天二的第一本書", "王天二");

    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开源数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。