https://github.com/marcosfshirafuchi/devsuperior-bee-uri-2602-busca-simples
DEVSUPERIOR : Java Spring Professional - BEE/URI 2602
https://github.com/marcosfshirafuchi/devsuperior-bee-uri-2602-busca-simples
bancodedados beecrowd-solutions devsuperior java jpql maven maven-plugin maven-pom nelio-alves nelioalves poo postgresql relacionamentos spring spring-boot springboot springdata-jpa springdatajpa sql uri-online-judge
Last synced: about 1 month ago
JSON representation
DEVSUPERIOR : Java Spring Professional - BEE/URI 2602
- Host: GitHub
- URL: https://github.com/marcosfshirafuchi/devsuperior-bee-uri-2602-busca-simples
- Owner: marcosfshirafuchi
- Created: 2024-07-23T22:35:49.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-07-26T00:09:46.000Z (9 months ago)
- Last Synced: 2025-01-23T13:14:23.167Z (3 months ago)
- Topics: bancodedados, beecrowd-solutions, devsuperior, java, jpql, maven, maven-plugin, maven-pom, nelio-alves, nelioalves, poo, postgresql, relacionamentos, spring, spring-boot, springboot, springdata-jpa, springdatajpa, sql, uri-online-judge
- Language: Java
- Homepage:
- Size: 62.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
#
Java Spring Professional - BEE/URI 2602
#### Desenvolvido na linguagem Java por:
- [Marcos Shirafuchi](https://github.com/marcosfshirafuchi)
## Formação Desenvolvedor Moderno Módulo: Back end
Capítulo: JPA, consultas SQL e JPQL
Aula: URI 2602 - Elaborando a consulta## Exercício: BEE/URI 2602
Exercício de SQL da plataforma do BEE: 2605
https://judge.beecrowd.com/pt/problems/view/2602Select Básico
Sua empresa está fazendo um levantamento de quantos clientes estão cadastrados nos estados, porém, faltou levantar os dados do estado do Rio Grande do Sul.
Então você deve Exibir o nome de todos os clientes cujo estado seja ‘RS’.
## Esquema
### customer
customers
customers
Coluna
Tipo
id (PK)
numeric
name
varchar
street
varchar
city
varchar
state
char
credit_limit
number
## Tabelas
### customers
| id | name | street | city | state | credit_limit |
| -- | -------------------------- | ------------------------- | -------------- | ------ | ------------- |
| 1 | Pedro Augusto da Rocha | Rua Pedro Carlos Hoffman | Porto Alegre | RS | 700,00 |
| 2 | Antonio Carlos Mamel | Av. Pinheiros | Belo Horizonte | MG | 3500,50 |
| 3 | Luiza Augusta Mhor | Rua Salto Grande | Niteroi | RJ | 4000,00 |
| 4 | Jane Ester | Av 7 de setembro | Erechim | RS | 800,00 |
| 5 | Marcos Antônio dos Santos | Av Farrapos | Porto Alegre | RS | 4250,25 |## Exemplo de Saída
| name |
| ------------------------- |
| Pedro Augusto da Rocha |
| Jane Ester |
| Marcos Antônio dos Santos |## Principais Tecnologias
-
Java 21 : Utilizaremos a versão LTS mais recente do Java para tirar vantagem das últimas inovações que essa linguagem robusta e amplamente utilizada oferece;
-Spring Boot 3 : Trabalharemos com a mais nova versão do Spring Boot, que maximiza a produtividade do desenvolvedor por meio de sua poderosa premissa de autoconfiguração;
-Spring Data JPA: Exploraremos como essa ferramenta pode simplificar nossa camada de acesso aos dados, facilitando a integração com bancos de dados SQL;
-PostgreSQL: Banco de dados SQL .
### Código SQL do URI/BEE 2602
```
--- URI Online Judge SQL
--- Copyright URI Online Judge
--- www.urionlinejudge.com.br
--- Problem 2602CREATE TABLE customers (
id NUMERIC PRIMARY KEY,
name CHARACTER VARYING (255),
street CHARACTER VARYING (255),
city CHARACTER VARYING (255),
state CHAR (2),
credit_limit NUMERIC
);INSERT INTO customers (id, name, street, city, state, credit_limit)
VALUES
(1, 'Pedro Augusto da Rocha', 'Rua Pedro Carlos Hoffman', 'Porto Alegre', 'RS', 700.00),
(2, 'Antonio Carlos Mamel', 'Av. Pinheiros', 'Belo Horizonte', 'MG', 3500.50),
(3, 'Luiza Augusta Mhor', 'Rua Salto Grande', 'Niteroi', 'RJ', 4000.00),
(4, 'Jane Ester', 'Av 7 de setembro', 'Erechim', 'RS', 800.00),
(5, 'Marcos Antônio dos Santos', 'Av Farrapos', 'Porto Alegre', 'RS', 4250.25);
/* Execute this query to drop the tables */
-- DROP TABLE customers; --
```## Resolução do exercício em SQL no URI/BEE 2602
```
SELECT name FROM customers WHERE state = 'RS';
```## Código do SQL no Java
```
@Query(nativeQuery = true,value = "SELECT name FROM customers WHERE UPPER(state) = UPPER(:state)")
List search1(String state);
```## Código do JPQL no Java
```
@Query("SELECT new com.devsuperior.uri2602.dto.CustomerMinDTO(obj.name) FROM Customer obj WHERE UPPER(obj.state) = UPPER(:state)")
List search2(String state);
```