Crie uma classe Fábrica de conexões:
package br.com.teste.jdbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionFactory {
public static Connection getConnection() throws SQLException{
try{
Class.forName("com.mysql.jdbc.Driver");
System.out.println("Conectando ao banco");
return DriverManager.getConnection("jdbc:mysql://localhost:3306/teste",
"root", "");
}catch (ClassNotFoundException e) {
System.out.println("Não conectado");
throw new SQLException(e.getMessage());
}
}
}
e depois teste esta conexão com a classe TestaConexao:
package br.com.teste.jdbc.teste;
import java.sql.Connection;
import java.sql.SQLException;
import br.com.teste.jdbc.ConnectionFactory;
public class TestaConexao {
/**
* @param args
* @throws SQLException
*/
public static void main(String[] args) throws SQLException {
Connection con = ConnectionFactory.getConnection();
con.close();
}
}
Devemos criar uma classe modelo responsável pelos métodos acessores:
package br.com.teste.jdbc.modelo;
public class Contato {
private Long id;
private String nome;
private String endereco;
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
Procure sempre utilizar o DAO para inserir, listar, remover os dados do banco:
package br.com.teste.jdbc.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import br.com.teste.jdbc.ConnectionFactory;
import br.com.teste.jdbc.modelo.Contato;
public class ContatoDAO {
private Connection conection;
public ContatoDAO() throws SQLException {
this.conection = ConnectionFactory.getConnection();
}
public void adiciona(Contato contato) throws SQLException {
PreparedStatement stmt = this.conection.prepareStatement("INSERT INTO CONTATOS "
+ "(NOME, EMAIL, ENDERECO)VALUES (?,?,?)");
stmt.setString(1, contato.getNome());
stmt.setString(2, contato.getEndereco());
stmt.execute();
stmt.close();
}
}
pra vc inserir dados no banco aí está um exemplo:
package br.com.teste.jdbc.teste;
import java.sql.SQLException;
import br.com.teste.jdbc.dao.ContatoDAO;
import br.com.teste.jdbc.modelo.Contato;
public class TestaInsere {
/**
* @param args
*/
public static void main(String[] args) throws SQLException{
Contato contato = new Contato();
contato.setNome("Washington");
contato.setEndereco("Av. Teste");
ContatoDAO dao = new ContatoDAO();
dao.adiciona(contato);
System.out.println("Gravado!");
}
Abraços!!!
[]´s
wsh