Bom dia, estou criando um sistema que vai usar JDBC puro usando PreparedStatement.
Vi que muita gente que usa hibernate usa um padrão pra fazer as conexões, aonde somente é possivel obter uma Session do hibernate aberta.
Estou tentando fazer a mesma coisa porem usando o JDBC, fiz a seguinte classe que acredito que pra que eu quero esta funcionando corretamente, mas gostaria de opinioes sobre possiveis erros ou o que eu poderia mudar. segue meu codigo de conexão:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package conexao;
import config.Configuracoes;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
* @author adm
*/
public class ConnectDb {
static Connection connection;
static{
try {
Class.forName("org.firebirdsql.jdbc.FBDriver");
} catch (ClassNotFoundException ex) {
ex.printStackTrace();
}
}
public static Connection getConnection(){
try {
if( connection==null || (connection!=null && connection.isClosed()) ){
System.out.println("Criando conexao");
connection=DriverManager.getConnection(Configuracoes.getUrlJdbc(),"SYSDBA","masterkey");
connection.setAutoCommit(false);
}
} catch (SQLException ex) {
ex.printStackTrace();
}
return connection;
}
public static void commitCurrentConnection(){
try {
if(connection!=null && !connection.isClosed()){
connection.commit();
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
public static void rollbackCurrentConnection(){
try {
if(connection!=null && !connection.isClosed()){
connection.rollback();
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
public static void closeCurrentConnection(){
try {
if(connection!=null && !connection.isClosed()){
connection.close();
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}