executar sql para consulta
24/07/2018 11:19
0
Bom dia!

Como posso executar uma sql (abaixo) no projeto spring boot ?

select 
 folha.codigoassociado 
 , folha.nome as nome
 , folha.codigoatividade
 , folha.nome_empresa as nome_empresa
 , folha.orca as orca
 , folha.data as data
 , folha.entrada as entrada
 , folha.saida as saida
 , folha.ano as ano
 , folha.mes as mes
 , folha.tipo as tipo
 , folha.valor as diaria
 , folha.qtdhoraextra as qtdhoraextra
 , folha.valorhoraextra as valorhoraextra
 , folha.totalhoraextra as totalhoraextra
 , folha.qtdhorasadicionalnoturno as qtdhorasadicionalnoturno
 , folha.valorhoraadicionalnoturno as valoradicionalnoturno
 , folha.totaladicionalnoturno as adicionalnoturno
 , folha.base as base
 , folha.totalrepousosemanal as rsr
 , folha.bruto as bruto
from( 
    select 
coc.codigo_cooperado as codigoassociado 
, cop.nome as nome
, coc.codigo_atvprofissional as codigoatividade
, cl.razao_social as nome_empresa
, coc.codigo_orcamento as orca
, co.dt_orcamento as data
, coc.data_hora_entrada as entrada
, coc.data_hora_saida as saida
, coc.valor_diaria_associado as valor
, coc.qtd_hora_extra as qtdhoraextra
, coc.coo_valor_hora_extra as valorhoraextra
, coc.total_hora_extra_associado as totalhoraextra
, coc.qtd_horas_adicional_noturno as qtdhorasadicionalnoturno
, coc.valor_hora_adicional_noturno_associado as valorhoraadicionalnoturno
, coc.total_adicional_noturno_associado as totaladicionalnoturno
, (coc.valor_diaria_associado+coc.total_hora_extra_associado+coc.total_adicional_noturno_associado) as base
, coc.coo_repouso_semanal_diaria as totalrepousosemanal
, (coc.valor_diaria_associado+coc.total_hora_extra_associado+coc.total_adicional_noturno_associado+coc.coo_repouso_semanal_diaria) as bruto
, coc.mes as mes
, coc.ano as ano
, coc.quinzena as quinzena
, coc.tipo_servico as tipo
from co_orcamento_cooperado coc 
inner join co_orcamento co on (co.codigo = coc.codigo_orcamento)
inner join co_cooperado cop on (cop.codigo = coc.codigo_cooperado)
inner join co_atvprofissional cat on (cat.codigo = coc.codigo_atvprofissional)
inner join co_cliente cl on (cl.codigo = co.codigo_cliente)
where co.status='T'
    and coc.tipo_servico = 'D'
    and ano =2018
  and mes =1
  and coc.codigo_cooperado = 694
union  
select 
coc.codigo_cooperado as codigoassociado
, cop.nome as nome
, coc.codigo_atvprofissional as codigoatividade
, cl.razao_social as nome_empresa
, coc.codigo_orcamento as orca
, co.dt_orcamento as data
, coc.data_hora_entrada as entrada
, coc.data_hora_saida as saida
, coc.valor_producao_associado as valor
, coc.qtd_hora_extra as qtdhoraextra
, coc.coo_valor_hora_extra as valorhoraextra
, coc.total_hora_extra_associado as totalhoraextra
, coc.qtd_horas_adicional_noturno as qtdhorasadicionalnoturno
, coc.valor_hora_adicional_noturno_associado as valorhoraadicionalnoturno
, coc.total_adicional_noturno_associado as totaladicionalnoturno
, (coc.valor_producao_associado+coc.total_hora_extra_associado+coc.total_adicional_noturno_associado) as base
, coc.coo_repouso_semanal_producao as totalrepousosemanal
, (coc.valor_producao_associado+coc.total_hora_extra_associado+coc.total_adicional_noturno_associado+coc.coo_repouso_semanal_producao) as bruto
, coc.mes as mes
, coc.ano as ano
, coc.quinzena as quinzena
, coc.tipo_servico as tipo
from co_orcamento_cooperado coc 
inner join co_orcamento co on (co.codigo = coc.codigo_orcamento)
inner join co_cooperado cop on (cop.codigo = coc.codigo_cooperado)
inner join co_atvprofissional cat on (cat.codigo = coc.codigo_atvprofissional)
inner join co_cliente cl on (cl.codigo = co.codigo_cliente)
where co.status='T'
and coc.tipo_servico = 'P'
and ano =2018
    and mes =1
   and coc.codigo_cooperado = 694
    ) as folha 
order by tipo, mes, ano, nome 
Tags: sql, spring boot, mysql


0
utilize  <dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

como dependencia do Springboot isto vai incluir o JPA e Hibernate.

@Repository
public interface Clientes extends JpaRepository<Cliente, Long> {
}
esta Interface estendida do JpaRepository herda métodos
pesquisar tudo Find.all

@GetMapping
public ModelAndView pesquisar(Cliente cliente){
ModelAndView mv = new ModelAndView(HOME_VIEW);
mv.addObject("todosClientes",clientes.findAll());
return mv;
}

@RequestMapping(value="{codigo}",method = RequestMethod.DELETE)
public String excluir (@PathVariable Long codigo, RedirectAttributes attributes){
   cadastroClienteService.excluir(codigo);
   attributes.addFlashAttribute("mensagem", "Cliente excluido com Sucesso!");
   return "redirect:/clientes";
}

@PostMapping(value= {"/novo", "{\d+}"})
public ModelAndView salvar(@Valid Cliente cliente , BindingResult result,RedirectAttributes attributes ){
   
   if(result.hasErrors()){
   
   return novo(cliente);
   }
   
   cadastroClienteService.salvar(cliente);
   
  attributes.addFlashAttribute("mensagem","Cadastrado efetuado com Sucesso");
   return new ModelAndView ("redirect:/clientes");
}
@GetMapping("/{codigo}")
public ModelAndView edicao(@PathVariable("codigo") Cliente cliente) {
ModelAndView mv = novo(cliente);
mv.addObject(cliente);
return mv;
}
no exemplo 

estou usando Thymeleaft recebendo como objeto o resultado da consulta.
16/09/2018 08:01


0
Boa tarde, 
Por se tratar de uma query mais complexa e dependendo da massa de dados, eu utilizaria jdbc template. 
[]s.
02/10/2018 17:06



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.

Podcast da itexto



Aprenda Groovy e Grails, Spring e mais com a Formação itexto!

Livro de Spring


/dev/All

Os melhores blogs de TI
em um único lugar!

 
Spring Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.