https://github.com/maryucha/provarestlojadecarros
#Projeto web para simular um CRUD com JDBC
https://github.com/maryucha/provarestlojadecarros
Last synced: 24 days ago
JSON representation
#Projeto web para simular um CRUD com JDBC
- Host: GitHub
- URL: https://github.com/maryucha/provarestlojadecarros
- Owner: Maryucha
- License: mit
- Created: 2021-02-06T16:50:58.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2021-02-07T23:38:53.000Z (over 5 years ago)
- Last Synced: 2025-10-25T00:32:55.879Z (9 months ago)
- Language: Java
- Size: 43 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Avaliação Final de API
Esse projeto foi proposto como atividade do final do segundo semestre do curso de desenvolvimento de sistemas do **SENAI - São José -SC**, a atividade requeria
- [x] Java Poo ---> valendo 1,0 ponto
- [x] MVC ---> não seria avaliado
- [x] REST ---> valendo 1,0 ponto
- [x] Serviços Web Crud ---> valendo 2,0 pontos
- [x] Serviço listar Carros Disponiveis ---> valendo 1,0 ponto
- [x] Serviço calcular Margem de Lucro em 15% ---> valendo 2,5 pontos
- [x] Serviço atualizar lucro total ---> valendo 2,5 pontos
**EXTRAS**
- [x] JDBC *integração com banco de dados*
- [x] Design Pattern Connection
#MVC
-
Minhas estrutura está organizada da seguinte forma:
java>
-br >-com > -mariani >
-controle
-ControleCarro
-aplicacao
-ServicoCarro
-ApplicationConfig
-modelos
-Carro
-dao
-DaoCarro
-conexao
-ConnectionFactory
-utilidades
-ConversorDeDatas
# Entidade
A classe proposta para a atividade foi:
Carro
------------
- id:int
- renavan:String
- Modelo: String
- Cor:String
- Ano:int
- Preco:String
- Vendido:boolean
Como eu fiz minha classe modelo carro.
Carro
-------
- id:int
- renavan:String
- Modelo: String
- Modelo: String
- Cor:String
- Ano:int
- Preco:Double
- Situacao:boolean
#Rotas
-
Minha api usa as seguntes rotas:
* ADD CARRO > http://localhost:8080/WebLoja/carro
* DELETAR CARRO > http://localhost:8080/WebLoja/carro/{ID}
* ATUALIZAR CARRO > http://localhost:8080/WebLoja/carro/{ID}
* BUSCAR CARRO > http://localhost:8080/WebLoja/carro/{ID}
* BUSCAR TODOS > http://localhost:8080/WebLoja/carro
* SELECIONAR DISPONIVEIS> http://localhost:8080/WebLoja/carro/listardisponiveis
* MOSTRAR TAXA DE LUCRO> http://localhost:8080/WebLoja/carro/taxalucro
* ATUALIZAR TAXA DE LUCRO> http://localhost:8080/WebLoja/carro/updatetaxalucro/{TAXA}
#Json
-
No meu projeto o @Consume e @Produces trabalha com o arquivo Json;
[
{
"renavan": "rdgs1254",
"modelo": "gol",
"montadora": "vw",
"cor": "branco",
"ano": 2013,
"preco": 25255.0,
"situacao": false
},
{
"renavan": "rdgs1254",
"modelo": "saveiro",
"montadora": "vw",
"cor": "vermelha",
"ano": 2013,
"preco": 25255.0,
"situacao": false
}
]
#JDBC
-
No meu projeto aproveitei o conhecimento pré adquirido em estudos por conta e com o professor Gustavo para fazer também a integração com o banco nesta atividade, usando o PostgresSQL
**SQL's**
*CRIAR O BANCO*
(CREATE DATABASE db_lojacarro WITH OWNER = postgres ENCODING = 'UTF8' LC_COLLATE = 'Portuguese_Brazil.1252' LC_CTYPE = 'Portuguese_Brazil.1252' TABLESPACE = pg_default CONNECTION LIMIT = -1; );
*CRIAR TABELA*
CREATE TABLE public.carro ( id integer NOT NULL DEFAULT nextval('carro_id_seq'::regclass), renavan character varying COLLATE pg_catalog."default", modelo character varying COLLATE pg_catalog."default", montadora character varying COLLATE pg_catalog."default", cor character varying COLLATE pg_catalog."default", ano integer, preco numeric, situacao boolean, CONSTRAINT carro_pkey PRIMARY KEY (id) ) TABLESPACE pg_default; ALTER TABLE public.carro OWNER to postgres;
**Design Pattern** & Classe ConectionFactory
-
Seguindo esse padrão de conexão com o banco fiz a minha aplicação que em um aplicação mais complexa facilmente posso dar manutenção sem bugar todo o código.
#Select com View
-
Para buscar dados de mais campos e soma;
SELECT sum(carro.preco) AS sum
FROM carro;