/SimpleSQL

Maior Facilidade no uso do SQLite

Primary LanguageJava

SimpleSQL

Essa Biblioteca tem como maior função facilitar o uso do SQLite para o android.

Agora vamos mostrar o passo a passo de como utilizar:

Importando a lib para o projeto:

implementation 'com.github.p2jorg:simplesql:1.0.30'
*Observação - Caso você não tenha o JitPack, adicione em seu module project a linha de código com o comentário:
allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" } // JitPack
        
    }
}

Passo 1: Crie sua classe modelo

Utilizando a biblioteca, a sua classe modelo também é a sua tabela de banco de dados,
basta você utilizar as anotações necessárias para que as duas se tornem uma só.

@Table
public class Pessoa {
    @Column(type = "INTEGER")
    @AutoIncrement()
    @Key
    private int id;
	
    @Column(type = "TEXT",
            non_null = true)
    private String nome;
	
    @Column(type = "INTEGER"
            ,non_null = true)
    private int idade;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public int getIdade() {
        return idade;
    }

    public void setIdade(int idade) {
        this.idade = idade;
    }
}

Passo 2: Criar uma classe herdando SQLiteOpenHelper

O Processo inicial de criar um banco de dados continua o mesmo, porém, como já foi visto anteriormente, a sua tabela já foi criada, então o que você precisar fazer é apenas chamar o um método da classe SimpleSQL dentro do método onCreate(SQLiteDatabase sqlLiteDatabase)

public class HelperBD extends SQLiteOpenHelper {
    private static final int DATABASE_VERSION = 1;
    private static final String DATABASE_NAME = "example.db";
    private SimpleSQL simpleSQL;

    public HelperBD(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
	simpleSQL = new SimpleSQL(this);
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        simpleSQL.create(new Pessoa(),db);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int i, int i1) {
        simpleSQL.deleteTable(new Pessoa(),db);
        onCreate(db);
    }

    @Override
    public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        super.onDowngrade(db, oldVersion, newVersion);
        onUpgrade(db, oldVersion, newVersion);
    }
}

Deletar a tabela

@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
   String _return = simpleSQL.deleteTable(new Pessoa(),db);
   onCreate(sqLiteDatabase);
}

INSERT

O método insert() irá retornar um valor booleano, onde true é quando for inserido com sucesso e false quando ocorrer algum erro

Pessoa p = new Pessoa();
p.setNome("Alow");
p.setIdade(12);
boolean result = false;
result = new SimpleSQL(new HelperBD(this)).insert(pessoa).execute();

SELECT

Para fazer uma listagem dos registro do banco de dados é bem simples, é só criar ua instancia da classe SimpleSQL e utilizar o método selectTable(Objeto) e montar o select da forma que preferir.

SimpleSQL simpleSql = new SimpleSQL(new HelperBD(this));
 
List<Pessoa> list = simpleSQL.selectTable(new Pessoa())
			    .fields("*")
			    .where()
			    .column("id")
			    .equals()
			    .fieldInt(1)
			    .execute();
 

DELETE

Para remover algum registro da tabela, ainda segue o mesmo padrão dos métodos anteriores

boolean result = simpleSQL.deleteColumn("Nome da tabela")
			.where()
			.column("id")
			.equals()
			.fieldInt(1)
			.execute();

UPDATE

Ainda utilizando o mesmo padrão dos anteriores você também pode atualizar os registro do banco de dados, da seguinte forma:

SimpleSQL simpleSql = new SimpleSQL(new HelperBD(this));
boolean result = simpleSQL.updateTable(new Pessoa())
                    	.set("nome","idade")
                    	.values("Novo Nome","Nova Idade")
                    	.where()
                    	.column("id")
                    	.equals()
                    	.fieldInt(1)
                    	.execute()
       

Desenvolvedores

Paulo Iury
Lucas Nascimento
Jiselle Martins