Jotahemmy Silva Postado Maio 3, 2022 Denunciar Share Postado Maio 3, 2022 MODEL ----------------------------------------- package com.procedures.pjProcedure.model; import lombok.Getter; import lombok.Setter; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; @Getter @Setter @Entity @Table(name="tb_especialidades") public class Especialidade { @Id @Column(name="esp_codigo") private Long codigo; @Column(name="esp_descricao") private String descricao; @Column(name="esp_nome_reduzido") private String nomeReduzido; } REPOSITORY--------------------------------------------- package com.procedures.pjProcedure.repository; import com.procedures.pjProcedure.model.Especialidade; import org.springframework.data.jpa.repository.JpaRepository; public interface EspecialidadeRepository extends JpaRepository<Especialidade, Long> { } SERVICE-------------------------------------- package com.procedures.pjProcedure.service; import com.procedures.pjProcedure.repository.EspecialidadeRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.object.StoredProcedure; import org.springframework.stereotype.Service; import javax.persistence.Entity; import javax.persistence.EntityManager; import javax.persistence.StoredProcedureQuery; @Service public class EspecialidadeService { @Autowired private EspecialidadeRepository er; public void executaProcedure(EntityManager em){ StoredProcedureQuery spq = em.createStoredProcedureQuery("spesp01"); spq.execute(); } } RESOURCE--------------------------------------------- package com.procedures.pjProcedure.resource; import com.procedures.pjProcedure.model.Especialidade; import com.procedures.pjProcedure.repository.EspecialidadeRepository; import com.procedures.pjProcedure.service.EspecialidadeService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import java.util.List; @RestController @RequestMapping("/especialidades") public class EspecialidadeResource { @Autowired private EspecialidadeRepository er; @Autowired private EspecialidadeService es; @GetMapping("/listar") public List<Especialidade> Listar(){ return er.findAll(); } @PostMapping("/exeProcedure") public void exeProcedure(){ EntityManagerFactory emf = Persistence .createEntityManagerFactory("spesp01"); EntityManager em = emf.createEntityManager(); es.executaProcedure(em); } } MINHA TABELA NO POSTGRESQL--------------------------- create sequence esp_id_seq START WITH 1; create table tb_especialidades ( esp_codigo bigint not null default nextval('esp_id_seq'), esp_descricao varchar(100), esp_nome_reduzido varchar(15), primary key (esp_codigo) ); MINHA STORED PROCEDURE SPESP01()---------------------- CREATE OR REPLACE PROCEDURE public.spesp01() LANGUAGE 'plpgsql' AS $BODY$ BEGIN update tb_especialidades set ESP_NOME_REDUZIDO='tst03' WHERE ESP_CODIGO=3; COMMIT; END; $BODY$; -------------------------------------------------------- Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Jotahemmy Silva
MODEL -----------------------------------------
package com.procedures.pjProcedure.model;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Getter
@Setter
@Entity
@Table(name="tb_especialidades")
public class Especialidade {
@Id
@Column(name="esp_codigo")
private Long codigo;
@Column(name="esp_descricao")
private String descricao;
@Column(name="esp_nome_reduzido")
private String nomeReduzido;
}
REPOSITORY---------------------------------------------
package com.procedures.pjProcedure.repository;
import com.procedures.pjProcedure.model.Especialidade;
import org.springframework.data.jpa.repository.JpaRepository;
public interface EspecialidadeRepository extends JpaRepository<Especialidade, Long> {
}
SERVICE--------------------------------------
package com.procedures.pjProcedure.service;
import com.procedures.pjProcedure.repository.EspecialidadeRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.object.StoredProcedure;
import org.springframework.stereotype.Service;
import javax.persistence.Entity;
import javax.persistence.EntityManager;
import javax.persistence.StoredProcedureQuery;
@Service
public class EspecialidadeService {
@Autowired
private EspecialidadeRepository er;
public void executaProcedure(EntityManager em){
StoredProcedureQuery spq = em.createStoredProcedureQuery("spesp01");
spq.execute();
}
}
RESOURCE---------------------------------------------
package com.procedures.pjProcedure.resource;
import com.procedures.pjProcedure.model.Especialidade;
import com.procedures.pjProcedure.repository.EspecialidadeRepository;
import com.procedures.pjProcedure.service.EspecialidadeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;
import java.util.List;
@RestController
@RequestMapping("/especialidades")
public class EspecialidadeResource {
@Autowired
private EspecialidadeRepository er;
@Autowired
private EspecialidadeService es;
@GetMapping("/listar")
public List<Especialidade> Listar(){
return er.findAll();
}
@PostMapping("/exeProcedure")
public void exeProcedure(){
EntityManagerFactory emf = Persistence
.createEntityManagerFactory("spesp01");
EntityManager em = emf.createEntityManager();
es.executaProcedure(em);
}
}
MINHA TABELA NO POSTGRESQL---------------------------
create sequence esp_id_seq
START WITH 1;
create table tb_especialidades (
esp_codigo bigint not null default nextval('esp_id_seq'),
esp_descricao varchar(100),
esp_nome_reduzido varchar(15),
primary key (esp_codigo)
);
MINHA STORED PROCEDURE SPESP01()----------------------
CREATE OR REPLACE PROCEDURE public.spesp01()
LANGUAGE 'plpgsql'
AS $BODY$
BEGIN
update tb_especialidades
set ESP_NOME_REDUZIDO='tst03'
WHERE ESP_CODIGO=3;
COMMIT;
END;
$BODY$;
--------------------------------------------------------
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.