android SQLite数据库开源框架LitePal的使用详解

使用过数据库的同学应该都会有感觉,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);
发布了34 篇原创文章 · 获赞 10 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/q296264785/article/details/53758733