Para fazer o desafio proposto pelo professor, tive que pesquisar no Google sobre o tema e cheguei a esse código abaixo. Acabou funcionando, mas eu precisaria de fazer algumas melhorias, pois está meio cru... rsrsrs
package br.com.alura.spring.data.service;
import java.util.Optional;
import java.util.Scanner;
import org.springframework.stereotype.Service;
import br.com.alura.spring.data.orm.Cargo;
import br.com.alura.spring.data.repository.CargoRepository;
@Service
public class CrudCargoService {
private final CargoRepository cargoRepository;
public CrudCargoService(CargoRepository cargoRepository) {
this.cargoRepository = cargoRepository;
}
public void inicial(Scanner scanner) {
salvar(scanner);
}
public void salvar(Scanner scanner) {
System.out.println("Descrição do cargo");
String descricao = scanner.next();
Cargo cargo = new Cargo();
cargo.setCargo(descricao);
cargoRepository.save(cargo);
System.out.println("Salvo");
}
public void atualizar(Scanner scanner) {
System.out.println("Digite o ID do cargo a ser atualizado:");
int id = scanner.nextInt();
Optional<Cargo> optional = this.cargoRepository.findById(id);
if(optional.isPresent()) {
Cargo cargo = optional.get();
System.out.println("Descrição do cargo");
String descricao = scanner.next();
cargo.setCargo(descricao);
cargoRepository.save(cargo);
System.out.println("Cargo atualizado.");
} else {
System.out.println("O ID do cargo informado: " + id + " é invalido");
}
}
package br.com.alura.spring.data;
import java.util.Scanner;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import br.com.alura.spring.data.service.CrudCargoService;
@SpringBootApplication
public class SpringDataApplication implements CommandLineRunner {
private final CrudCargoService service;
private Boolean system = true;
public SpringDataApplication(CrudCargoService service) {
this.service = service;
}
public static void main(String[] args) {
SpringApplication.run(SpringDataApplication.class, args);
}
@Override
public void run(String... args) throws Exception {
Scanner scanner = new Scanner(System.in);
while(system) {
System.out.println("Qual ação você quer executar?");
System.out.println("0 - Sair");
System.out.println("1 - Cargo");
System.out.println("2 - Atualizar o cargo");
int action = scanner.nextInt();
if(action == 1) {
service.inicial(scanner);
}
if(action == 2) {
service.atualizar(scanner);
}
if(action == 0) {
system = false;
}
}
}
}