Bom dia pessoal,
Voces poderiam me ensinar como instancio um método do DAO com argumento dentro do meu Bean gerenciado. Veja os códigos:
[size=18]Esse é o meu bean gerenciado:[/size]
public class CadUsuarios {
private String nomeUsuario;
private String senha;
private Integer idGrpAcc; // <= esse é o código do grupo de acesso do usuário que deverá ser passado ao método DAO como argumento
// Não sei como referenciar e/ou instanciar o método DAO
// que é public List contextosGrupoAcesso(Integer idGrp) throws Exception
private List<GrpAcessoCtxDAOImp> ?????;
// getters e setters
[size=18]Essa é minha classe DAO:[/size]
public class GrpAcessoCtxDAOImp implements GrpAcessoCtxDAO {
private Connection conn;
public GrpAcessoCtxDAOImp() throws Exception {
try {
this.conn = ConnectionFactory.getConnection();
} catch (Exception e) {
throw new Exception("Erro: " + ":\n" + e.getMessage());
}
}
// ESSE É O MÉTODO QUE DESEJO INSTANCIAR NO MEU BEAN GERENCIADO, O ARGUMENTO É O GRUPO DO USUÁRIO
public List contextosGrupoAcesso(Integer idGrp) throws Exception {
PreparedStatement ps = null;
Connection conn = null;
ResultSet rs = null;
try {
conn = this.conn;
String sql = "SELECT tbctx.stContexto, tbgrp_acesso.stNomeGrp,";
sql += " tbgrp_acesso_ctx.ID_Grp_Acesso,tbgrp_acesso_ctx.ID_Ctx";
sql += " tbgrp_acesso.blAcessoTotal FROM tbgrp_acesso_ctx";
sql += " INNER JOIN tbctx ON tbgrp_acesso_ctx.ID_Ctx = tbctx.ID_Ctx, tbgrp_acesso";
sql += " WHERE tbgrp_acesso_ctx.ID_Grp_Acesso = tbgrp_acesso.ID_Grp_Acesso";
sql += " AND tbgrp_acesso_ctx.ID_Grp_Acesso = ?";
ps = conn.prepareStatement(sql);
ps.setInt(1, idGrp);
rs = ps.executeQuery();
List<GrpAcessoCtx> list = new ArrayList<GrpAcessoCtx>();
while (rs.next()) {
String stContexto = rs.getString(1);
String stNomeGrp = rs.getString(2);
Integer ID_Grp_Acesso = rs.getInt(3);
Integer ID_Ctx = rs.getInt(4);
list.add(new GrpAcessoCtx(ID_Grp_Acesso, ID_Ctx,stNomeGrp,stContexto));
}
return list;
} catch (SQLException sqle) {
throw new Exception(sqle);
} finally {
ConnectionFactory.closeConnection(conn, ps, rs);
}
}
}