Dados da stored procedure em tela jsf

[b]Ola a todos …
esse e meu primeiro post por isso ja vou pedindo desculpas caso eu erre em alguma coisa …
galera preciso de ajuda no seguinte problema…

aqui na empresa onde trabalho me passaram uma sp (stored procedure), de consulta na qual quando e selecionada a data ela traz/mostra
os nomes dos funcionarios e tambem o horario que bateram o ponto de entrada de serviço…

a minha tarefa e fazer com que esses resultado(dados da consulta) sejam apresentados em uma pagina em jsf,
ja li muito sobre isso e entendo bastante de jsf … mais nao sei como chamar a sp em java e nem como fazer tudo isso na
pagina, e nem sei que metodos o java usa pra fazer isso , os exemplos que ache na net sempre estao em php …
se alguem poder me um exemplo passo a passo de como faz isso , fico grato

Pelo que pesquisei rapidamente, você deve usar o método CallableStatement para chamar a SP. Talvez fazer um método executa_sp no seu DAO, passando o nome da SP?! Não sei, sou novato demais para dar sugestões desse tipo…

1 curtida

cara eu achei um metodo para chamar a “sp” na internet … o problema e como colocar esses resultados na pagina jsf e como fazer a consulta que a sp faz nela

Na verdade, corrigindo o que eu disse, pesquisei melhor e o lance parece ser o seguinte:

Você deve usar:

  • Statement se a SP não precisar de parâmetros de entrada ou saída.
  • PreparedStatement se a SP tiver parâmetros de entrada.
  • CallableStatement se a SP tiver parâmetros de entrada e saída.

O resultado você pega com ResultSet, algo mais ou menos assim:

public static void executaSp(Connection con, <parametro de entrada>) { try { PreparedStatement pstmt = con.prepareStatement("{call <nome da SP>(?)}"); pstmt.setInt(1, c_id); ResultSet rs = pstmt.executeQuery(); while (rs.next()) { // aqui você usa rs.get<tipo do campo>, exemplo rs.getString("nome do campo"); } rs.close(); pstmt.close(); } catch (Exception e) { e.printStackTrace(); } }

1 curtida