Você está na página 1de 2

--> Vamos criar um método para buscar todas pessoas cadastradas no banco de dados.

Vai ser um método que não vai ter parâmetros.

Criando método buscarTodasPessoas:

package com.aulawb.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import com.aulawb.model.Pessoa;
import com.aulawb.repository.PessoaRepository;

@Controller
@RequestMapping(path="")
public class PessoaController {

@Autowired
private PessoaRepository pessoaRepository;

@RequestMapping(value = "/pessoa/", method = RequestMethod.GET) // aqui


estamos dizendo que esse método vai ser um web service. Para isso, usamos essa
anotação, onde passamos uma série de parametros: o primeiro é o value, onde dizemos
o caminho na barra de endereços que vamos passar para dizer para executar esse
método que lista todas as pessoas. Temos que especificar também que é o GET no
method para dizer que é para usar o GET no endereço /pessoa/ para executar esse
método.

public ResponseEntity<List<Pessoa>> buscarTodasPessoas(){ // o método retorna


um ResponseEntity. Essa classe é responsável por retornar cabeçalhos de respostas
HTTP.Temos que dizer para ele qual o tipo de dado que vai vir. Nesse caso, vai ser
uma lista de pessoas. Dessa maneira, o método vai retornar um responseEntity com
uma lista de pessoas dentro dele.

List<Pessoa> pessoas = pessoaRepository.findAll(); // aqui estamos


pegando os caras que vão vir no banco nessa lista. Usamos o objeto pessoaRepository
que chama um método findAll da interface Repository. Isso foi o que comentamos no
exemplo passado, onde temos uma interface Repository que já possuí os métodos de
CRUD dentro dela. Uma dessas coisas é o findAll que seleciona o SELECT p from
Pessoa p(seleciona tudo de pessoa).

if(pessoas.isEmpty()){ // caso a lista de pessoas esteja vazia, tem que


dar um erro.
return new ResponseEntity(HttpStatus.NO_CONTENT); // retornando
uma mensagem de erro. O comando de status do HTTP para erro é o NO_CONTENT, ou
seja, vai ser uma mensagem no HTTP de status que não possuí conteúdo, ou seja, está
vazia.
}
return new ResponseEntity<List<Pessoa>>(pessoas, HttpStatus.OK); // se
a lista não estiver vazia, temos que retornar uma mensagem de sucesso. Estamos
retornando a lista de pessoas e a mensagem de status de HTTP 200(OK)
}

--> Agora vamos fazer a configuração do application.properties onde vamos fazer a


configuração do persistence.xml

Configurando o application.properties:

spring.jpa.hibernate.ddl-auto=update // a primeira coisa é dizer a primeira coisa


que o JPA(hibernate) deve fazer ao acessar o banco de dados(criar tabelas, usar
tabelas criadas, criar as tabelas e depois deletar elas). No nosso caso, estamos
usando UPDATE, ou seja, ele não vai criar tabelas novas, apenas inserir dados
novos.

spring.datasource.url=jdbc:mysql://localhost:3306/aulawb // aqui dizemos a URL do


banco de dados.

spring.datasource.username=will // aqui dizemos o usuário do banco de dados.

spring.datasource.password=OLABEJMNP // aqui dizemos a senha do banco de dados.

spring.datasource.driver-class-name=com.mysql.jdbc.Driver // aqui colocamos os


dados do driver.

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect // aqui
dizemos o dialeto do banco de dados.

Você também pode gostar