Explication détaillée du cadre open source de la base de données Android SQLite LitePal

Les étudiants qui ont utilisé la base de données devraient avoir le sentiment que lorsque SQLiteDatabase exploite la base de données, de nombreux paramètres sont gênants. LitePal, un framework de base de données open source basé sur un modèle de mappage relationnel objet, rend les opérations de base de données simples et faciles à utiliser. LitePal encapsule nos fonctions de base de données couramment utilisées. Nous pouvons facilement ajouter, supprimer et rechercher la base de données en appelant des méthodes. Les étapes pour utiliser LitePal sont détaillées ci-dessous:

1. Ajoutez la bibliothèque de dépendances LitePal dans la fermeture des dépendances du fichier build.gradle:
compilez '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'
}

Deuxièmement, créez un nouveau fichier litepal.xml dans le répertoire d'images

Écrivez une description de l'image ici


Contenu du fichier: dbname -
version du nom de la base de données
- liste des versions de la base de données - spécifiez le modèle de mappage

<?xml version="1.0" encoding="utf-8"?>
<litepal>
    <dbname value="B" ></dbname>

    <version value="3" ></version>

    <list>
    </list>
</litepal>

Troisièmement, modifiez le fichier de liste

Ajoutez sous le tag d'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>

Quatrièmement, créez un modèle de cartographie.

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>

Cinquièmement, réaliser les opérations d'ajout, de suppression et de recherche des données

1. Créez la base de données Connector.getDatabase () // Obtenez-la si le fichier de base de données existe, créez-la si elle n'existe pas
2. Mettez à jour la version de la base de données

如果需要新建一个数据库表格,只需要重复步骤四新建一个类,然后将litepal.xml文件的版本加大
如果需要在原来的表格中新加一列只需要在表格对应的映射类中加入需要新增列的字段并且提供对应的get set方法,然后将litepal.xml文件的版本加大

3. Ajouter des données

添加数据只要将对应表格的映射类实例化在调用set方法给各列赋值,赋值后通过映射类的实例调用 save()方法保存数据。

4. Modifiez les données

如果需要修改数据库中的某条数据
    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. Supprimer les données

DataSupport.deleteAll()方法有多个参数,第一个是操作的表格名,后面的参数指定约束条件
删除表格B中升高小于160的所有数据
DataSupport.deleteAll(B.class, "Height < ?", "160");

6. Interroger les données

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);
Publié 34 articles originaux · J'aime 10 · Visites 30 000+

Je suppose que tu aimes

Origine blog.csdn.net/q296264785/article/details/53758733
conseillé
Classement