Hoy, cuando estaba viendo el código fuente de otras personas, accidentalmente descubrí un artefacto de base de datos muy útil. Déjame compartirlo aquí.
¿Qué es DBFlow?
DBFlow es una biblioteca de herramientas para Android SQLite ORM que utiliza la manipulación de anotaciones. En pocas palabras, es una biblioteca Java que funciona en la base de datos SQLite.
ORM (mapeo relacional de objetos), traducido como mapeo relacional de objetos en chino, es una tecnología para resolver el fenómeno de la falta de coincidencia entre las bases de datos relacionales orientadas a objetos. En pocas palabras, ORM persiste automáticamente los objetos en el programa en una base de datos relacional utilizando metadatos que describen la asignación entre el objeto y la base de datos.
¿Por qué usar DBFlow?
1. Velocidad
Basado en el procesamiento de anotaciones (procesador de anotaciones), la generación de código se genera en el momento de la compilación, y el rendimiento del tiempo de ejecución es excelente. A través de los objetos de multiplexación y los mecanismos de almacenamiento en caché, se obtiene una buena experiencia de velocidad.
2. Extensibilidad
El formulario de datos se asigna a un objeto de datos, y la clase de modelo se hereda a través del objeto. En términos generales, es suficiente heredar la clase BaseModel y agregar anotaciones a los miembros de la clase para generar el formulario requerido.
3. Declaración de consultas
Si ha utilizado otras bibliotecas como Greendao, las declaraciones de consulta están muy cerca de las declaraciones SQL.
4. Basado en SQLite
No hay restricción en la plataforma, puede usar DBFlow donde haya SQLite.
5. Open Source
El código fuente es algo bueno, y aquellos con habilidad pueden verlo. https://github.com/raizlabs/dbflow
Cómo usar DBFlow
Configurar el entorno
No importa lo que quieras aprender, el entorno es lo principal. El primer paso para una biblioteca de tres partes es importar la biblioteca de clases.
Primero agregue la dirección maven en la compilación principal.
allProjects {repositorios {maven {url "https://jitpack.io"}}} En segundo lugar, agregue dependencias en el módulo de clase base:
La copia del código es la siguiente:
def dbflow_version = "4.2.4" Dependencias {AnnotationProcessor "com.github.raizlabs.dbflow: dbflow-processor: $ {dbflow_version}" compilar "com.github.raizlabs.dbflow: dbflow-core: $ {dbflow_version}" compil "com.github.raizlabs.dbflow: dbflow-rx2: $ {dbflow_version}" compilar "com.github.raizlabs.dbflow: dbflow-rx2: $ {dbflow_version}" compile " "com.github.raizlabs.dbflow: dbflow-sqlcipher: $ {dbflow_version}"}
Si necesita agregar el código Kotlin, verifique la dirección del código fuente anterior y consulte las instrucciones a continuación.
usar
Agregar init en la aplicación
FlowManager.*Init*(esto);
Crear una base de datos
@Database (name = dbflowData.*Dbname*, versión = dbflowData.*Versión*) public class dbflowData {public static static final String*dbname*= "dbflowData"; Public static final int *versión *= 1; }Use la base de datos de anotaciones, nombre de la base de datos de la versión de la base de datos de la base de datos
Crear un formulario
@Table (database = dbflowdata.class) public class dbflowmodel extiende 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 () {nombre de retorno; } public void setName (nombre de cadena) {this.name = name; }} Use Annotations Tabla de datos de la base de datos de la base de datos de la base de datos, atributos de formulario Use diversas anotaciones, claves primarias primarias y columnas de colum.
Nota: El basemodelo que heredamos aquí es proporcionado por DBFlow, y no puede ser heredado. Las diferencias son solo diferentes en términos de adición, eliminación, modificación y búsqueda.
Después de la creación, haga clic en Build-> hacer y el código necesario se generará en ../build/generated/source/apt/debug.
insertar:
Cree un objeto de formulario, después de asignar el valor, llame al método Guardar para insertar la operación.
La copia del código es la siguiente: dbflowmodel dbflowmodel = new dbflowModel (); dbflowmodel.name = name; dbflowmodel.save ();
borrar:
Código similar a las declaraciones SQL para operar
Sqlite.*Delete*() .From (dbflowmodel.class) .where (dbflowmodel_table.*Id*.eq (id), dbflowmodel_table.*Name*.eq (nombre)) .Execute ();
Consulta:
Esto tiene muchas operaciones complejas de consultas. Si desea saber más, lea la documentación oficial.
La copia del código es la siguiente: List <DbflowModel> list = sqlite.*Select*(). From (dbflowmodel.class) .queryList ();
renovar:
Todos son similares.
Sqlite.*Update*(dbflowmodel.class) .set (dbflowmodel_table.*Name*.eq ("pxxxx")) .where (dbflowModel_table.*Name*.eq ("p0000") .Execute (); Nota: Después de crear un nuevo formulario, debe actualizar la versión de la base de datos, de lo contrario se informará un error.
Aquí presentaré el uso básico de DBFlow, principalmente para compartir y grabar algunas cosas útiles.
Código fuente: https://github.com/xiaogoudandan/williamapp
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.