使用過數據庫的同學應該都會有感覺,SQLiteDatabase操作數據庫的時候參數多操作麻煩。基於對象關係映射模式的開源數據庫框架LitePal使得數據庫的操作變得簡單易用。LitePal將我們常用的數據庫功能進行了封裝,我們只要調用方法就能輕鬆完成對數據庫的增刪查找操作。下面就詳細記錄了LitePal的使用步驟:
一、在build.gradle文件 dependencies閉包中添加LitePal依賴庫:
compile ‘org.litepal.android:core:1.3.2’
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.0.1'
testCompile 'junit:junit:4.12'
compile 'org.litepal.android:core:1.3.2'
}
二、在如圖目錄中新建litepal.xml文件
文件內容:
dbname — 數據庫名
version — 數據庫版本
list — 指定映射模型
<?xml version="1.0" encoding="utf-8"?>
<litepal>
<dbname value="B" ></dbname>
<version value="3" ></version>
<list>
</list>
</litepal>
三、修改清單文件
在application標籤下添加:
android:name=”org.litepal.LitePalApplication”
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.administrator.class_listpal">
<application
android:name="org.litepal.LitePalApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
四、創建映射模型。
1、創建類,類名設置爲你需要創建的數據庫表明,**如果需要進行增刪查找操作則需要繼承類DataSupport**;
2、聲明字段,字段爲你需要創建數據庫表格的列名,類型對應列數據的類型;
3、給每個字段生成對應的get set 方法;
4、在剛纔建立的litepal.xml文件中 list 標籤下申明改成創建的類,聲明格式爲‘包名.類名’
<list>
<mapping class="com.example.administrator.class_listpal.B"></mapping>
<mapping class="com.example.administrator.class_listpal.C"></mapping>
</list>
五、實現對數據的增刪查找操作
1、創建數據庫 Connector.getDatabase()//數據庫文件存在就獲取,沒有就創建
2、更新數據庫版本
如果需要新建一個數據庫表格,只需要重複步驟四新建一個類,然後將litepal.xml文件的版本加大
如果需要在原來的表格中新加一列只需要在表格對應的映射類中加入需要新增列的字段並且提供對應的get set方法,然後將litepal.xml文件的版本加大
3、添加數據
添加數據只要將對應表格的映射類實例化在調用set方法給各列賦值,賦值後通過映射類的實例調用 save()方法保存數據。
4、修改數據
如果需要修改數據庫中的某條數據
1、實例化一個對應映射類
2、通過映射類的實例調用對應的需要修改的參數的set方法
3、通過映射類調用upadteAll()方法寫入修改數據的調
將數據庫中表格B中所有滿足“name= bbb,address= 長沙”的數據 升高修改成“165”,性別修改成“男”
B b = new B();
b.setHeight(165);
b.setGender("男");
b.updateAll("name = ? and address= ?", "bbb", "長沙");
5、刪除數據
DataSupport.deleteAll()方法有多個參數,第一個是操作的表格名,後面的參數指定約束條件
刪除表格B中升高小於160的所有數據
DataSupport.deleteAll(B.class, "Height < ?", "160");
6、查詢數據
LitePal通過了很多種查詢數據的方法,這裏舉例兩種
查詢表格B中所有升高小於160的數據
List<B> B = DataSupport.where("Height < ?","160").find(B.class);
查詢表格B中符合name = A的從第offset()條開始的limit()條數據,返回select("name")列數據
List<Book> books = DataSupport.select("name").where("name == ?","A").limit(10).offset(10).find(B.class);