Este post apresenta uma classe Java genérica para conexão com os bancos de dados MySQL e PostgreSQL.
package br.com.dragon.util.conexao;
import java.sql.*;
/**
*
* @author mayron
*/
public class Conexao {
private String local;
private String user;
private String senha;
private Connection c;
private Statement statment;
private String str_conexao;
private String driverjdbc;
public Conexao(String bd, String local, String porta,
String banco, String user, String senha) {
if (bd.equals("PostgreSql")){
setStr_conexao("jdbc:postgresql://"+ local +":" + porta +"/"+ banco);
setLocal(local);
setSenha(senha);
setUser(user);
setDriverjdbc("org.postgresql.Driver");
}else {
if (bd.equals("MySql")) {
setStr_conexao("jdbc:mysql://"+ local +":" + porta +"/"+ banco);
setLocal(local);
setSenha(senha);
setUser(user);
setDriverjdbc("com.mysql.jdbc.Driver");
}
}
}
public void configUser(String user, String senha) {
setUser(user);
setSenha(senha);
}
public void configLocal(String banco) {
setLocal(banco);
}
//Conexão com o Banco de Dados
public void conect(){
try {
Class.forName(getDriverjdbc());
setC(DriverManager.getConnection(getStr_conexao(), getUser(), getSenha()));
setStatment(getC().createStatement());
}catch (Exception e) {
System.err.println(e);
e.printStackTrace();
}
}
public void disconect(){
try {
getC().close();
}catch (SQLException ex) {
System.err.println(ex);
ex.printStackTrace();
}
}
public ResultSet query(String query){
try {
return getStatment().executeQuery(query);
}catch (SQLException ex) {
ex.printStackTrace();
return null;
}
}
// GETs AND SETs
public String getLocal() {
return local;
}
public void setLocal(String local) {
this.local = local;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
public Connection getC() {
return c;
}
public void setC(Connection c) {
this.c = c;
}
public Statement getStatment() {
return statment;
}
public void setStatment(Statement statment) {
this.statment = statment;
}
public String getStr_conexao() {
return str_conexao;
}
public void setStr_conexao(String str_conexao) {
this.str_conexao = str_conexao;
}
public String getDriverjdbc() {
return driverjdbc;
}
public void setDriverjdbc(String driverjdbc) {
this.driverjdbc = driverjdbc;
}
}
Para utilizá-la, seguimos a seguinte sintaxe:
Conexao("BANCO","LOCAL/IP","PORTA","MEU DB","USUARIO","SENHA");
Para selecionar o banco, no primeiro parâmetro informe:
- "MySql"
- "PostgreSql"
Conexao c = new Conexao("PostgreSql","localhost","5432","db1","us","123");
c.conect();
//...
c.disconect();
Ainda tem muito a se melhorar, mas já é meio caminho andado.
Os drivers JDBC estão disponíveis pra download aqui nessa dica.