Skip to content

Processo de CRUD no java utilizando JDBC com PostgreSQL

Notifications You must be signed in to change notification settings

victorhtl/DAO-java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DAO Design Pattern

DAO (Data Access Object) é um padrão de projeto de software que promove uma separação clara entre a lógica de negócios e o acesso aos dados, facilitando a manutenção, teste e evolução do sistema.

Implementação do DAO em seu projeto:

  1. Interface DAO (src/model/dao): Define a interface que encapsula as operações de acesso aos dados, como inserir, atualizar, excluir e recuperar. Esta interface contém métodos abstratos para cada operação.
public interface SellerDao {
    void insert(Seller obj);
    void update(Seller obj);
    void deleteById(Integer id);
    Seller findById(Integer id);
    List<Seller> findAll();
    List<Seller> findByIdDepartment(Integer Id);
}
  1. Implementação DAO (src/model/dao/impl): Fornece a implementação concreta dos métodos definidos na interface DAO. Esta classe é responsável por interagir diretamente com o banco de dados para executar as operações CRUD (Create, Read, Update, Delete). As operações de query SQL são realizadas utilizando a Interface Connection.
public class SellerDaoJDBC implements SellerDao {

    private Connection conn;

    public SellerDaoJDBC(Connection conn){
        this.conn = conn;
    }

    @Override
    public void insert(Seller seller){
        // JDBC SQL commands
    }
    // Rest of the code
}
  1. Entidade (src/model): Representa os objetos que serão armazenados e recuperados do banco de dados. Geralmente, são classes simples que contêm apenas atributos, getters e setters. Estes objetos devem possuir, como atributos, todas as colunas da tabela que representa.
public class Seller {
    private Integer id;
    private String name;
    private String email;
    private Date birthDate;
    private Double baseSalary;
    
    // Foreign key to Department table
    private Department department;
}
  1. Factory DAO (src/model/dao): Fábrica que cria as instâncias da interface DAO. Isso pode ser útil para permitir a troca fácil de implementações DAO sem modificar o código cliente.
public class DaoFactory {
    public static SellerDao createSellerDao(){
        return new SellerDaoJDBC(DB.getConnection());
    }
}

About the Code

Este programa implementa o padrão de projeto DAO realizando um CRUD em um sistema de cadastro de vendedores (Sellers). Cada vendedor possui uma chave estrangeira para algum elemento da tabela Department.O banco utilizado foi o PostgreSQL

Para realizar queries em um banco de dados com java, precisamos de uma interface chamada JDBC. O JDBC (Java Database Connectivity) é uma API (Interface de Programação de Aplicativos) Java que permite que aplicativos Java se conectem a bancos de dados relacionais, executem consultas SQL e manipulem dados resultantes. Ele fornece uma maneira padrão para que os desenvolvedores de aplicativos Java acessem bancos de dados, independentemente do tipo de banco de dados que estão usando.

How to use

  • Tenha o PostgreSQL (versão 16.2 windows 11) instalada em seu computador
  • git clone, abra com sua IDE favorita (InteliJ)
  • Crie uma database no pgAdmin (ex. nome: estudos_java, owner: postgres)
  • Execute os comandos sql em database/database.sql
  • Instale manualmente o driver JDBC em database/postgresql-42.7.3.jar. A instalação é nas libraries do projeto
  • Insira a url, user e password do seu banco postgreSQL em App.java
  • Rode App.java

How it works

O programa inicia utilizando a fábrica para instanciar sellerDao, que contém todos os métodos de acesso ao banco. Este método recebe a url, usuário e senha do banco para realizar a conexão:

SellerDao sellerDao = DaoFactory.createSellerDao(
        "jdbc:postgresql://localhost:5432/estudos_java",
        "postgres",
        "0000"
);

Este método estático instancia a implementação que criamos de SellerDao, chamada de SellerDaoJDBC. O método getConnection() faz a conexão com banco de dados e retorna o objeto conn ao SellerDaoJDBC, que irá enviar os comandos SQL por meio desta conexão

public static SellerDao createSellerDao(String url, String user, String password){
    return new SellerDaoJDBC(DB.getConnection(url, user, password));
}

Agora basta utilizar os métodos de sellerDao para realizar as consultas com o banco. Os métodos disponíveis são:

public void insert(Seller seller);
public void update(Seller seller);
public void deleteById(Integer id);
public Seller findById(Integer id);
public List<Seller> findAll();
public List<Seller> findByIdDepartment(Integer id);

Caso qualquer alteração no banco seja feita, o código fonte não precisa ser alterado.

About

Processo de CRUD no java utilizando JDBC com PostgreSQL

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages