一、簡介
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即可,如下所示:
注意:id屬性可以不用聲明,工具類會自動建立一個遞增主鍵idpublic class News extends DataSupport { private int id; private String title; private String content; protected int commentCount; Get....set.... }
- 配置litepal.xml檔案,添加映射類
這樣,在下次操作資料庫時,News表就會自動生成,例如下面獲得SQLiteDatabase的代碼:<list> <mapping class="com.gj.litepaldemo.News"></mapping> </list>
2. 增加記錄SQLiteDatabase db = Connector.getDatabase();
3. 更改記錄News news = new News(); news.setTitle("title"); news.setContent("content1"); boolean result = news.save();
4. 删除記錄News news = new News(); news.setTitle("title1"); news.setContent("content1"); int rows = news.update(1);
5. 查詢記錄DataSupport.delete(News.class, 1);
- 按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