A motivação para a criação desse projeto é de por em prática os estudos teóricos de orientação a objeto, de forma simples e inicial.
Não foram abordadas regras de negócio complexas e não possui o objetivo resolver algum problema do nosso dia a dia.
Criar um sistema java onde seja possível realizar cadastro de pessoas contendo Nome e CPF e também cadastrar empresas contendo Nome, CNPJ e Presidente onde deve existir um vínculo em presidente e pessoa.
Projeto foi divido nas seguintes etapas:
- Criação do CRUD de pessoa armazenando em um HashMap em memória.
- Refatoração para que o CRUD de pessoa seja armazenado em base PostgreSQL.
- Criação do CRUD de empresa realizando o vínculo com a pessoa.
CREATE SEQUENCE id;
CREATE TABLE Pessoas(
id int default nextval('id'::regclass) PRIMARY KEY,
nome Varchar(50),
cpf Varchar(11)
);
CREATE TABLE public.empresas
(
idempresa integer NOT NULL DEFAULT nextval('idempresa'::regclass),
nome character varying(50) COLLATE pg_catalog."default",
cnpj character varying(14) COLLATE pg_catalog."default",
idpresidente integer,
CONSTRAINT empresas_pkey PRIMARY KEY (idempresa)
)
CONSTRAINT empresas_idpresidente_fkey FOREIGN KEY (idpresidente) REFERENCES public.pessoas (id)
A classe que contém os dados de conexão com o banco de dados é a classe Conexao.java onde deve ser alterados os dados de conexão caso necessário.