04: Exemplo Caso de uso - gabrielmmoraes1999/DBRepository GitHub Wiki

04: Exemplo de uso (Conexão principal)

package main;

import io.github.gabrielmmoraes1999.db.DataBase;
import io.github.gabrielmmoraes1999.db.Repository;

public class Main {

    public static void main(String[] args) throws Exception {

        //Criar conexão Principal (Onde será usado por todos os Repository)
        DataBase.createConnection("jdbc:postgresql://localhost:5432/postgres", "postgres", "password");

        //Declarado o repository do Produto
        ProdutoRepository produtoRepository = Repository.createRepository(ProdutoRepository.class);

        //Recuperando a entidade do produto com o codigo 1.
        Produto produto = produtoRepository.findById(1);

        //Executa um comando de insert no banco de dado com base na entidade.
        produtoRepository.insert(produto);

        //Executa um comando de update no banco de dado com base na entidade.
        produtoRepository.update(produto);

        //Executa um comando de insert/update no banco de dado com base na entidade.
        produtoRepository.save(produto);

        //Executa um comando de delete com base na chave primaria da entidade.
        produtoRepository.delete(1);

        //Fecha a conexão com o banco de dados
        DataBase.disconnect();

    }
}

04.1: Exemplo de uso (Conexão em Secundária)

package main;

import io.github.gabrielmmoraes1999.db.DataBase;
import io.github.gabrielmmoraes1999.db.Repository;

import java.sql.Connection;

public class Main {

    public static void main(String[] args) throws Exception {

        //Criar conexão Secundária (Onde será usado apena no Repository onde declarado)
        Connection conn = DataBase.getConnection("jdbc:postgresql://localhost:5432/postgres", "postgres", "password");

        //Declarado o repository do Produto
        ProdutoRepository produtoRepository = Repository.createRepository(ProdutoRepository.class, conn);

        //Recuperando a entidade do produto com o codigo 1.
        Produto produto = produtoRepository.findById(1);

        //Executa um comando de insert no banco de dado com base na entidade.
        produtoRepository.insert(produto);

        //Executa um comando de update no banco de dado com base na entidade.
        produtoRepository.update(produto);

        //Executa um comando de insert/update no banco de dado com base na entidade.
        produtoRepository.save(produto);

        //Executa um comando de delete com base na chave primaria da entidade.
        produtoRepository.delete(1);

        //Fecha a conexão com o banco de dados
        DataBase.disconnect(conn);

    }
}