Aujourd'hui, quand je regardais le code source des autres, j'ai découvert accidentellement un artefact de base de données très utile. Permettez-moi de le partager ici.
Qu'est-ce que DBFlow?
DBFlow est une bibliothèque d'outils pour Android SQLite ORM qui utilise la manipulation d'annotation. Autrement dit, il s'agit d'une bibliothèque Java qui fonctionne sur la base de données SQLite.
L'ORM (cartographie relationnelle des objets), traduit par cartographie relationnelle des objets en chinois, est une technologie pour résoudre le phénomène de non-correspondance entre les bases de données orientées objet et relationnelle. En termes simples, ORM persiste automatiquement les objets dans le programme dans une base de données relationnelle en utilisant des métadonnées qui décrivent le mappage entre l'objet et la base de données.
Pourquoi utiliser DBFlow?
1. Vitesse
Sur la base de l'annotation Processing (processeur d'annotation), la génération de code est générée au moment de la compilation et les performances d'exécution sont excellentes. Grâce à des objets multiplexing et à des mécanismes de mise en cache, une bonne expérience de vitesse est obtenue.
2. Extensibilité
Le formulaire de données est mappé à un objet de données et la classe de modèle est héritée de l'objet. D'une manière générale, il suffit de hériter de la classe BasEmodel et d'ajouter des annotations aux membres de la classe pour générer le formulaire requis.
3. Énoncé de requête
Si vous avez utilisé d'autres bibliothèques telles que Greendao, les instructions de requête sont très proches des instructions SQL.
4. Basé sur Sqlite
Il n'y a aucune restriction sur la plate-forme, vous pouvez utiliser DBFlow partout où il y a sqlite.
5. Open source
Le code source est une bonne chose et ceux qui ont des capacités peuvent le vérifier. https://github.com/raizlabs/dbflow
Comment utiliser dbflow
Configurer l'environnement
Peu importe ce que vous voulez apprendre, l'environnement est l'essentiel. La première étape pour une bibliothèque triple consiste à importer la bibliothèque de classe.
Ajoutez d'abord l'adresse Maven dans la construction principale. Gradle:
AllProjects {Repositories {maven {url "https://jitpack.io"}}} Deuxièmement, ajoutez des dépendances dans le module de classe de base:
La copie de code est la suivante:
def dbflow_version = "4.2.4" Dependance {annotationProcessor "com.github.raizLabs.dbflow: dbflow-processor: $ {dbflow_version}" compile "com.github.raizLabs.dbflow: dbflow-core: $ {dbflow_version}" Compile: compile: $ {dbflow_version} "Comple "com.github.raizLabs.dbflow: dbflow-rx2: $ {dbflow_version}" compile "com.github.raizLabs.dbflow: dbflow-rx2: $ {dbflow_version}" compile "com.github.raizLabs.dbflow: dbflow-sqlvipher: $ {dbflow_version}"}
Si vous devez ajouter du code Kotlin, vérifiez l'adresse de code source ci-dessus et consultez les instructions ci-dessous.
utiliser
Ajouter une init dans l'application
FlowManager. * Init * (this);
Créer une base de données
@Database (name = dbflowData. * Dbname *, version = dbflowdata. * Version *) public class dbflowdata {public static final string * dbname * = "dbflowdata"; version finale statique publique int * * = 1; }Utiliser la base de données d'annotation, nom de la base de données de la base de données Version de la base de données
Créer une forme
@Table (database = dbflowdata.class) classe publique dbflowmodel étend BasEmodel {@primaryKey (autoincrement = true) public int id; @Column Public String Name; public int getID () {return id; } public void setid (int id) {this.id = id; } public String getName () {Nom de retour; } public void setName (string name) {this.name = name; }} Utilisez des objets de base de données d'esclaves de la base de données de la base de données, des attributs de formulaire Utilisez diverses annotations, des clés primaires primaires et des colonnes de colonnes.
Remarque: Le Basemodel dont nous avons hérité ici est fourni par DBFlow, et il ne peut pas être hérité. Les différences ne sont différentes qu'en termes d'addition, de suppression, de modification et de recherche.
Après la création, cliquez sur Build-> Make et le code nécessaire sera généré sous ../build/generated/source/apt/debug.
insérer:
Créez un objet formulaire, après avoir attribué la valeur, appelez la méthode de sauvegarde pour insérer l'opération.
La copie de code est la suivante: dbflowmodel dbflowmodel = new dbflowModel (); dbflowModel.name = name; dbflowModel.save ();
supprimer:
Code similaire aux instructions SQL à fonctionner
Sqlite. * Delete * () .From (dbflowModel.class) .Where (dbflowModel_Table. * Id * .eq (id), dbflowModel_Table. * Name * .eq (name)) .execute ();
Requête:
Cela a de nombreuses opérations de requête complexes. Si vous voulez en savoir plus, veuillez lire la documentation officielle.
La copie de code est la suivante: list <dbflowmodel> list = sqlite. * Select * (). From (dbflowmodel.class) .queryList ();
renouveler:
Ils sont tous similaires.
Sqlite. * Update * (dbflowmodel.class) .set (dbflowmodel_table. * Name * .eq ("pxxxx")) .where (dbflowModel_Table. * Name * .eq ("p0000")) .Execute (); Remarque: Après avoir créé un nouveau formulaire, vous devez mettre à niveau la version de la base de données, sinon une erreur sera signalée.
Ici, je présenterai l'utilisation de base de DBFlow, principalement pour partager et enregistrer des choses utiles.
Code source: https://github.com/xiaogoudandan/williamapp
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.