Boa tarde galera.
Sou novo em programação.
E estou enfrentando um problema.
Quando tento acessar o banco via console direto.
Uma classe com main, chama a minha dao e insere no banco. Isso funciona.
Mas quando chamo o mesmo método da dao na servlet, não conecta com o banco.
package br.com.pf1.banco;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Conexao {
//metodo para buscar uma nova conexão
public Connection getConnection(){
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost/padaria","root","1234");
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
return conn;
}
}
public class ProdutoDao {
private Connection conexao;
public ProdutoDao(){
conexao = new Conexao().getConnection();
}
//método para inserir um produto no banco de dados
public void inserirProduto(Produto produto) throws ErroDeConexaoException, ErroDeGravacaoException {
String sql = "insert into produto (codigoDeBarras, descricao, validade, quantidadeEmEstoque, preco) values (?, ?, ?, ?, ?)";
PreparedStatement pr;
try{
pr = conexao.prepareStatement(sql);
// seta os valore
pr.setInt(1, produto.getCodigoDeBarras());
pr.setString(2, produto.getDescricaoProduto());
pr.setString(3, produto.getValidadeProduto());
pr.setDouble(4, produto.getQuantidadeEmEstoqueProduto());
pr.setDouble(5, produto.getPrecoProduto());
//executando a query
pr.execute();
//fechando
pr.close();
} catch (SQLException e) {
throw new ErroDeGravacaoException();
}
}//Fim do método inserir
public class ProdutoServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req, resp);
}//Fim método doGet
public void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//variavel acao para receber a opçao que o usuario deseja executar
String acao = req.getParameter("acao");
//IFs testando qual foi a opção escolhida
if("cadastrar".equals(acao)){
//cria um objeto produto
Produto produto = new Produto();
//seta os valores para produto
produto.setCodigoDeBarras(Integer.parseInt(req.getParameter("codigoDeBarras")));
produto.setDescricaoProduto(req.getParameter("descricaoProduto"));
produto.setValidadeProduto(req.getParameter("dataDeValidade"));
produto.setQuantidadeEmEstoqueProduto(Double.parseDouble(req.getParameter("quantidadeEmEstoque")));
produto.setPrecoProduto(Double.parseDouble(req.getParameter("precoProduto")));
//Cria o Obejto produtoDao para gravar no banco
ProdutoDao produtoDao = new ProdutoDao();
try{
try {
produtoDao.inserirProduto(produto);
}catch (ErroDeConexaoException e) {
resp.sendRedirect("produto/erros/erroDeConexao.jsp");
}
req.setAttribute("produto", produto);
RequestDispatcher rd = req.getRequestDispatcher("produto/sucesso/sucessoCadastroProduto.jsp");
rd.forward(req, resp);
} catch (ErroDeGravacaoException e) {
resp.sendRedirect("produto/erros/erroDeGravacao.jsp");
}
}//FIm da opçao cadastrar