Boa tarde.
Estamos desenvolvendo uma agenda em servlet para a facu…
Estou com alguns problemas, um deles é a conexão com o Banco…tenho o AppServ instalado com MySql, PhpMyAdmin…
Tenho o seguinte código para a conexão com o banco:
[code]package dao;
import java.sql.Connection;
public class FabricaConexao {
private java.sql.Connection conexao;
public Connection fazConexao(){
try{
Class.forName("org.gjt.mm.mysql.Driver");
conexao = java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/agenda", "root", "brass");
}
catch (Exception e) {
e.printStackTrace();
}
return conexao;
}
public void fecharConexao(){
try {
conexao.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
[/code]
Pode algo estar errado neste código? Senha e usuário são esses mesmos…
Para adicionar contato na agenda tenho o seguinte:
[code]package action;
import java.io.IOException;
import java.sql.Connection;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.Contato;
import dao.FabricaConexao;
import dao.JDBCContatoDAO;
public class AdicionarContato extends HttpServlet {
private static final long serialVersionUID = 1L;
public AdicionarContato() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("servlet executando função de gravação de contato !!!!!");
String nome = request.getParameter("nome");
String telefone = request.getParameter("telefone");
String celular = request.getParameter("celular");
String nascimentoSt = request.getParameter("nascimento");
String endereco = request.getParameter("endereco");
String cidade = request.getParameter("cidade");
String estado = request.getParameter("estado");
Date date = null;
try {
date = new SimpleDateFormat("dd/MM/yyyy").parse(nascimentoSt);
} catch (ParseException e) {
e.printStackTrace();
}
Contato novoContato = new Contato();
novoContato.setCelular(celular);
novoContato.setCidade(cidade);
novoContato.setDataNascimento(date);
novoContato.setEndereco(endereco);
novoContato.setEstado(estado);
novoContato.setCidade(cidade);
novoContato.setNome(nome);
novoContato.setTelefone(telefone);
FabricaConexao fabrica = new FabricaConexao();
Connection conexao = fabrica.fazConexao();
JDBCContatoDAO dao = new JDBCContatoDAO(conexao);
dao.inserir(novoContato);
fabrica.fecharConexao();
}
}
[/code]
Aqui vão os códigos de inserção e seleção
[code]package dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import model.Contato;
public class JDBCContatoDAO implements ContatoDAO{
Connection conexao;
public JDBCContatoDAO(Connection conexao){
this.conexao = conexao;
}
public void inserir(Contato contato) {
String comando = "insert into contato (nome, telefone, celular, endereco, cidade, estado) "+
"values(?,?,?,?,?,?)";
PreparedStatement p;
try {
p = this.conexao.prepareStatement(comando);
p.setString(1, contato.getNome());
p.setString(2, contato.getTelefone());
p.setString(3,contato.getCelular());
p.setDate(4, new java.sql.Date( contato.getDataNascimento().getTime() ) );
p.setString(5, contato.getEndereco());
p.setString(6,contato.getCidade());
p.setString(7, contato.getEstado());
p.execute();
} catch (SQLException e) {
e.printStackTrace();
}
}
public List<Contato> listarTodos() {
List<Contato> contatos = new ArrayList<Contato>();
String comando = "select * from contato";
try {
java.sql.Statement stmt = conexao.createStatement();
ResultSet rs = stmt.executeQuery(comando);
while( rs.next()){
Contato contato = new Contato();
int codigo = rs.getInt("codigo");
String nome = rs.getString("nome");
String telefone = rs.getString("telefone");
String celular = rs.getString("telefone");
Date data = rs.getDate("dataNascimento");
String endereco = rs.getString("endereco");
String cidade = rs.getString("cidade");
String estado = rs.getString("estado");
contato.setNome(nome);
contato.setCodigo(codigo);
contato.setTelefone(telefone);
contato.setCelular(celular);
contato.setDataNascimento(data);
contato.setEndereco(endereco);
contato.setCidade(cidade);
contato.setEstado(estado);
contatos.add(contato);
}
} catch (Exception e) {
e.printStackTrace();
}
return contatos;
}
}
[/code]
Ele não insere…Tenho dados inseridos na agenda, porém ele não seleciona…Não sei se a conexão com o banco está correta…
Alguém pode ajudar?