Bom dia amigos,
Gostaria de saber como faço para Iterar um HashMap na classe DAO para fazer os insert dos dados no Banco de Dados:
Classe Action onde populo o HashMap e depois seto ele para a classe DAO fazer os inserts, mas não consigo Iterar para fazer o insert dos dados no banco. como posso fazer isto?
Tenho uma JSP que tem um Javascript que adiciona linhas no formulario dinamicamente, ai na Action eu recupero todos os parametros e jogo para um HashMap… Estou usando Struts 1.3.8.
Método da classe EstoqueAction:
public ActionForward incluirProdutoEstoquePorNF(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
System.out.println("*** EstoqueAction: incluirProdutoEstoquePorNF ***");
EstoqueDAO estoqueDAO = new EstoqueDAO();
ActionMessages messages = new ActionMessages();
EstoqueVO estoqueForm = (EstoqueVO) form;
String opcao = request.getParameter("opcao");
estoqueForm.setOpcao(opcao);
//ArrayList <EstoqueVO> lEstoqueProduto = new ArrayList<EstoqueVO>();
if (estoqueForm.getOpcao().equals("CADASTRAR")){
System.out.println("Entrou no IF...");
//HttpServletRequest request = ...;
EstoqueVO estoqueVO = new EstoqueVO();
HashMap map = new HashMap();
Enumeration names = request.getParameterNames();
while (names.hasMoreElements()) {
String name = (String) names.nextElement();
map.put(name, request.getParameterValues(name));
}
//BeanUtils.populate(estoqueVO, map);
//request.setAttribute("estoqueForm", estoqueVO);
System.out.println("Map size: " + map.size());
int flag = estoqueDAO.incluirProdutoEstoquePorNF(map);
if (flag > 0){
messages.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("sucesso.fornecedorIncluidoComSucesso"));
saveMessages(request, messages);
}else{
System.out.println("INCLUSÃO DE ITEM DE PRODUTO NÃO INCLUSA!");
}
}
//request.setAttribute("estoqueForm", estoqueVO);
request.setAttribute("opcao", estoqueForm.getOpcao());
return mapping.findForward(ConstantsUtil.FWD_SUCESSO);
}
Metodo da classe EstoqueDAO:
public int incluirProdutoEstoquePorNF(HashMap map) throws SQLException {
System.out.println("*** EstoqueDAO: incluirProdutoEstoquePorNF ***");
int flag = 0;
System.out.println("map no DAO:" + map.size());
try {
String query = "INSERT INTO " +
" TBL_MOVIMENTACAO_ESTOQUE (" +
" COD_PRODUTO, " +
" QTD_ITEM) " +
" VALUES(" +
map.size();
//map.getItemEstoqueVO().getCodProduto() +"','"+
//map.getItemEstoqueVO().getQtdItem() +"')";
xConn = new XConnection();
flag = xConn.atualiza(query);
// flag = 1 (INSERT OK)
if(flag == 1) {
// Obter id gerado automaticamente por AUTO_INCREMENT
query = "SELECT LAST_INSERT_ID()";
xConn.rs = xConn.seleciona(query);
xConn.rs.first();
flag = xConn.rs.getInt(1);
}
xConn.fechaConexao();
return flag;
} catch(SQLException e) {
System.out.println("ERROR incluirProdutoEstoquePorNF: "+e);
xConn.fechaConexao();
return flag;
} catch(Exception e) {
System.out.println("ERROR incluirProdutoEstoquePorNF: "+e);
xConn.fechaConexao();
return flag;
}
}
Vlw amigos…
Vlw…