天天看點

LitePal 開源項目使用

一、簡介

LitePal是開源的Android庫,為開發者使用SQLite資料庫提供幫助。使用LitePal,開發者使用SQLite不再需要編寫SQL語句塊,例如建立更新表,CRUD操作,以及統計函數。LitePal的安裝使用也是非常簡單,不超過5分鐘,你就可以把這整合到你的項目裡面.

二、特性

  • 使用ORM模式
  • 很少的配置檔案(僅僅一個配置檔案,其中包含一些屬性)
  • 自動維護表(例如增加、删除、和修改表)
  • 提供操作API,避免寫SQL語句
  • 提供強大的聚合查詢功能
  • 同時支援使用SQL語句

三、項目整合

1. 引入JAR包

本例中使用的是litepal-1.1.1.jar版本,拷貝到libs目錄,如下圖所示:
LitePal 開源項目使用

2. 配置litepal.xml

在項目的assets目錄下面建立litepal.xml檔案,并編輯檔案内容如下:

<?xml version="1.0" encoding="utf-8"?>
<litepal>
    <!-- <dbname>用于設定資料庫的名字 -->
    <dbname value="demo" />
    <!-- <version>用于設定資料庫的版本号,如果你想要更新資料庫,增加這個值 -->
    <version value="1" />
    <!-- <list>用于設定所有的映射模型 -->
    <list>
        <mapping class="com.gj.litepaldemo.News"></mapping>  
    </list>
</litepal>
           

3. 配置LitePalApplication

為了防止每次都傳遞參數Context上下文,隻需在AndroidManifest.xml檔案中配置LitePalApplication即可,如下文所示:

<manifest>
<application
        android:name="org.litepal.LitePalApplication"
           

四、開始使用

1. 建立表
  • 建立實體類,需要繼承DataSupport類,如果某些屬性在建立表時不需要作為表的相應字段,隻要聲明為非private即可,如下所示:
public class News extends DataSupport {
	private int id;
	private String title;
	private String content;
	protected int commentCount;
    Get....set....
}
           
注意:id屬性可以不用聲明,工具類會自動建立一個遞增主鍵id
  • 配置litepal.xml檔案,添加映射類
<list>
        <mapping class="com.gj.litepaldemo.News"></mapping>  
    </list>
           
這樣,在下次操作資料庫時,News表就會自動生成,例如下面獲得SQLiteDatabase的代碼:
SQLiteDatabase db = Connector.getDatabase();
           
2. 增加記錄
News news = new News();
  news.setTitle("title");
  news.setContent("content1");
  boolean result = news.save();
           
3. 更改記錄
News news = new News();
news.setTitle("title1");
news.setContent("content1");
int rows = news.update(1);
           
4. 删除記錄
DataSupport.delete(News.class, 1);
           
5. 查詢記錄
  • 按ID查詢單條記錄
News news = DataSupport.find(News.class, 2); //查詢ID值為2的那條記錄
           
  • 全部查詢
List<News> newsList = DataSupport.findAll(News.class);
           
  • 按條件查詢
List<News> queryList = DataSupport.where("title = ?", "title3").find(News.class); //查詢title的值為"title3"的記錄
           

五、資料庫更新

      如果軟體的正式版本已經釋出上線,在後續的版本更新中,如果需要對資料庫表進行增加或者字段修改,那麼就需要用到資料庫表更新的功能,而使用LitePal進行資料庫更新是十分容易的,具體如何使用LitePal進行表的更新控制,如下所示:

  •  新增表

1) 首先新增實體類,如新增實體類addDemo

2) 配置assets\litepal.xml檔案,在<list></list>中增加映射關系,參考上面的建立表的内容

3) 修改litepal.xml檔案中的版本号,需要+1

  • 表字段修改

1)  直接修改對應的實體類

2)  修改litepal.xml檔案中的版本号,需要+1

六、LitePal Github 位址

https://github.com/LitePalFramework/LitePal#latest-downloads