Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DevConfig*****************************************
- @Configuration
- public class DevConfig {
- @Autowired
- private DbService dbService;
- @Value("${spring.jpa.hibernate.ddl-auto}")
- private String strategy;
- @Bean
- public boolean inicializaBancoDeDados() throws ParseException {
- if (!"create".equals(strategy)) {
- return false;
- }
- dbService.inicializaBancoDeDados();
- return true;
- }
- }
- DbService****************************************
- @Service
- public class DbService {
- @Autowired
- private CategoriaRepository categoriaRepository;
- @Autowired
- private EstadoRepository estadoRepository;
- public void inicializaBancoDeDados() throws ParseException {
- Categoria cat1 = new Categoria(null, "Informática");
- Categoria cat2 = new Categoria(null, "Escritório");
- Categoria cat3 = new Categoria(null, "Cama mesa e banho");
- Categoria cat4 = new Categoria(null, "Eletrônicos");
- Categoria cat5 = new Categoria(null, "Jardinagem");
- Categoria cat6 = new Categoria(null, "Decoração");
- Categoria cat7 = new Categoria(null, "Perfumaria");
- categoriaRepository.saveAll(Arrays.asList(cat1, cat2, cat3, cat4, cat5, cat6, cat7));
- }
- }
- CATEGORIA RESOURCE***********************
- @RestController
- @RequestMapping(value="/categorias")
- public class CategoriaResource {
- @Autowired
- private CategoriaService service;
- //BUSCAR POR ID
- @RequestMapping(value="/{id}",method=RequestMethod.GET)
- public ResponseEntity<Categoria> find(@PathVariable Integer id){
- Categoria obj = service.find(id);
- return ResponseEntity.ok().body(obj);
- }
- //INSERIR
- @RequestMapping(method=RequestMethod.POST)
- public ResponseEntity<Void>insert(@RequestBody Categoria obj){
- obj = service.insert(obj);
- URI uri = ServletUriComponentsBuilder.fromCurrentRequest().
- path("/{id}").buildAndExpand(obj.getId()).toUri();
- return ResponseEntity.created(uri).build();
- }
- //ATUALIZAR
- @RequestMapping(value="/{id}", method=RequestMethod.PUT)
- public ResponseEntity<Void> update(@RequestBody Categoria obj, @PathVariable Integer id){
- obj.setId(id);
- obj = service.update(obj);
- return ResponseEntity.noContent().build();
- }
- //EXCLUIR
- @RequestMapping(value="/{id}", method=RequestMethod.DELETE)
- public ResponseEntity<Void> delete(@PathVariable Integer id) {
- service.delete(id);
- return ResponseEntity.noContent().build();
- }
- //LISTAR TODAS
- @RequestMapping(method=RequestMethod.GET)
- public ResponseEntity<List<CategoriaDTO>> findAll() {
- List<Categoria> lista = service.findAll();
- //ou for para percorrer a lista
- List<CategoriaDTO> listaDTO = lista.stream().map(obj -> new CategoriaDTO(obj)).collect(Collectors.toList());
- return ResponseEntity.ok().body(listaDTO);
- }
- }
- CATEGORIA SERVICE********************
- @Service
- public class CategoriaService {
- @Autowired
- private CategoriaRepository rep;
- //BUSCAR POR ID
- public Categoria find (Integer id) {
- Optional<Categoria> obj = rep.findById(id);
- return obj.orElse(null);
- }
- //INSERIR
- public Categoria insert (Categoria obj) {
- obj.setId(null);
- return rep.save(obj);
- }
- //ATUALIZAR
- public Categoria update (Categoria obj) {
- find(obj.getId());
- return rep.save(obj);
- }
- //DELETAR
- public void delete (Integer id) {
- find(id);
- rep.deleteById(id);
- }
- //LISTAR TODAS
- public List<Categoria> findAll(){
- return rep.findAll();
- }
- POM.XML*****************************
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-data-jpa</artifactId>
- </dependency>
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-devtools</artifactId>
- </dependency>
- application.properties**********************************
- spring.datasource.url=jdbc:mysql://localhost:3306/pweb_quarta?useTimezone=true&serverTimezone=UTC
- spring.datasource.username=root
- spring.datasource.password=root
- spring.jpa.hibernate.ddl-auto=create
- spring.jpa.show-sql=true
- spring.jpa.properties.hibernate.format_sql=true
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement