Hoje, quando eu estava assistindo o código -fonte de outras pessoas, descobri acidentalmente um artefato de banco de dados muito útil. Deixe -me compartilhar aqui.
O que é dbflow?
O DBFlow é uma biblioteca de ferramentas para o Android SQLite ORM que usa manipulação de anotação. Simplificando, é uma biblioteca Java que opera no banco de dados SQLite.
ORM (Mapeamento Relacional de Objetos), traduzido como mapeamento de objetos-relatórios em chinês, é uma tecnologia para resolver o fenômeno da incompatibilidade entre bancos de dados relacionados a objetos e orientados a objetos. Simplificando, o ORM persiste automaticamente os objetos no programa em um banco de dados relacional usando metadados que descrevem o mapeamento entre o objeto e o banco de dados.
Por que usar dbflow?
1. Velocidade
Com base no processo de anotação (processador de anotação), a geração de código é gerada no momento da compilação e o desempenho do tempo de execução é excelente. Através de objetos multiplexadores e mecanismos de cache, é obtida uma boa experiência de velocidade.
2. Extensibilidade
O formulário de dados é mapeado para um objeto de dados e a classe modelo é herdada através do objeto. De um modo geral, basta herdar a classe Basemodel e adicionar anotações aos membros da classe para gerar o formulário necessário.
3. Declaração de consulta
Se você usou outras bibliotecas, como o Greendao, as declarações de consulta estão muito próximas das instruções SQL.
4. Com base no SQLite
Não há restrição na plataforma, você pode usar o DBFlow onde quer que haja sqlite.
5. código aberto
O código -fonte é uma coisa boa, e aqueles com habilidade podem conferir. https://github.com/raizlabs/dbflow
Como usar o DBFlow
Configure o ambiente
Não importa o que você queira aprender, o ambiente é a principal coisa. O primeiro passo para uma biblioteca de três partes é importar a biblioteca de classes.
Primeiro, adicione o endereço maven na construção principal.gradle:
allProjects {repositórios {maven {url "https://jitpack.io"}}} Em segundo lugar, adicione dependências no módulo de classe base:
A cópia do código é a seguinte:
Def dbflow_version = "4.2.4" dependências {annotationProcessor "com.github.raizlabs.dbflow: dbflow-processor: $ {dbflow_version}" compile "com.github.raizlabs.dbflow: dbflow-core: $ {dbflow_versa "com.github.raizlabs.dbflow: dbflow-rx2: $ {dbflow_version}" compile "com.github.raizlabs.dbflow: dbflow-rx2: $ {dbflow_version}" compile "com.github.raizlabs.dbflow: dbflow_version}" compile "
Se você precisar adicionar código Kotlin, verifique o endereço do código -fonte acima e veja as instruções abaixo.
usar
Adicionar init no aplicativo
FlowManager.*Init*(this);
Crie um banco de dados
@Database (nome = dbflowData.*DbName*, versão = dbflowData.*Versão*) classe pública dbflowData {public static final string*dbName*= "dbflowData"; public static final int *versão *= 1; }Use o banco de dados de anotação, nome do banco de dados Versão da versão do banco de dados
Crie um formulário
@Table (Database = dbflowData.class) classe pública dbflowmodel estende o BasEmodel {@PrimaryKey (autoinCrement = true) public int id; @Column public string nome; public int getId () {return id; } public void setId (int id) {this.id = id; } public string getName () {return name; } public void setName (nome da string) {this.name = name; }} Use os objetos de banco de dados do banco de dados do banco de dados do banco de dados de anotações, atributos de formulário usam várias anotações, chaves primárias do PrimaryKey e colunas colum.
NOTA: O modelo BasEmodel que herdamos aqui é fornecido pelo DBFlow e não pode ser herdado. As diferenças são diferentes apenas em termos de adição, exclusão, modificação e pesquisa.
Após a criação, clique em Build-> Make e o código necessário será gerado em ../build/generated/source/apt/debug.
inserir:
Crie um objeto de formulário, depois de atribuir o valor, chame o método Salvar para inserir a operação.
A cópia do código é a seguinte: dbflowmodel dbflowmodel = new dbflowModel (); dbflowmodel.name = nome; dbflowmodel.save ();
excluir:
Código semelhante às instruções SQL para operar
Sqlite.*Delete*() .from (dbflowmodel.class) .where (dbflowmodel_table.*Id*.eq (id), dbflowmodel_table.*Name*.eq (nome)) .execute ();
Consulta:
Isso tem muitas operações de consulta complexas. Se você quiser saber mais, leia a documentação oficial.
A cópia do código é a seguinte: List <DBFlowModel> list = sqlite.*Selecione*(). De (dbflowmodel.class) .QueryList ();
renovar:
Eles são todos parecidos.
SQLITE.*UPDATE*(dbflowmodel.class) .set (dbflowmodel_table.*Nome*.eq ("pxxxx") .where (dbflowmodel_table.*Name*.eq ("P0000") .execute (); Nota: Depois de criar um novo formulário, você precisa atualizar a versão do banco de dados, caso contrário, um erro será relatado.
Aqui, apresentarei o uso básico do DBFlow, principalmente para compartilhar e gravar algumas coisas úteis.
Código fonte: https://github.com/xiaogoudandan/williamapp
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.