
E ai galera, blz? Bom, espero que sim.
Hoje dando sequencia a manuais de desenvolvimento, vou mostrar como pode se fazer uma “fabrica de conexões” no java.
Essa “fabrica” é o que fara a conexao direta com o banco, digo, fara toda e qualquer comunicação com o mesmo. Abrir e fechar conexões tambem.
Bom vamos ao que interessa:
//aqui faz a especificação do caminho da sua connection factory.
package br.com.cf.util;//importando. Fazendo a conexão com o banco de dados
import java.sql.Connection; //guarda os parametros do banco
import java.sql.DriverManager; //classe que gerencia o driver do banco
import java.sql.ResultSet;
import java.sql.Statement; //objeto que vai faze gera o sql
Agora vamos iniciar a classe.
———————-
public class ConnectionFactory {
/**
*
* @return
* @throws Exception
*/
public static Connection getConnection() throws Exception
{
//essa parte onde faz a expecificação do driver que usará. Sendo essas: local, nome, usuario e senha.
try{
Class.forName(“org.postgresql.Driver”);
return DriverManager.getConnection(“jdbc:postgresql://127.0.0.1:5432/zona_net”,”postgres”,”postdba”);// postgress
/*Se for fazer com o mysql ficará dessa forma:
Class.forName(“conn.mysql.jdbc.Driver”);
String url = “jdbc:mysql://localhost:3306/cud_jsp”;
String user = “root”;
String password = “postdba”;
conn = DriverManager.getConnection(url, user, password);
*/} catch(Exception e) {
throw new Exception(e.getMessage());
}
}
————————-
Acima fizemos a conexao com o banco. E quando estivermos usando a conexão, apos aberta, obrigatórimente tem que ser fechada, sendo assim usaremos 3 parametros pra fazer essa ligação com o banco. Sendo:
Connection conn -> Esse faz a conexão com o banco;
Statement stmt -> Esse fica encarregado de passar os atributos das classes pro banco.
Resultset rs -> Encarregado de retornar o valor de uma pesquisa no banco.(resultado de um “select” por exemplo)
/**
*
* @param conn
* @param stmt
* @param rs
* @throws Exception
* Metodo encarregado de fechar todos os parametros usados.
*/
public static void closeConnection(Connection conn, Statement stmt, ResultSet rs) throws Exception
{
close(conn, stmt, rs);
}/**
*
* @param conn
* @param stmt
* @throws Exception
* Metodo encarregado de fechar somente a conexao e statement
*/
public static void closeConnection(Connection conn, Statement stmt) throws Exception
{
close(conn, stmt, null);
}/**
*
* @param conn
* @throws Exception
* Metodo pra fechar somente a conexão.
*/
public static void closeConnection(Connection conn) throws Exception
{
close(conn,null,null);
}
Porem só com os metodos feitos acima ainda não fechara os a conexão com o banco, tanto que pode-se perceber que os metodos acima usa um outro metodo chamado close,esse recebe os parametros a ser fechado, que esse sim fechara a conexão. que é o proximo metodo a ser mostrado:
private static void close(Connection conn, Statement stmt, ResultSet rs) throws Exception
{
try{
if(rs!=null) rs.close();
if(stmt!=null) stmt.close();
if(conn!=null) conn.close();
} catch (Exception e) {
throw new Exception(e.getMessage());
}
}
Feito.
Ficando assim um arquivo completo da connection factory:
package br.com.cf.util;import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; /** * * @author Chicao Pessotta */ public class ConnectionFactory { /** * * @return * @throws Exception */ public static Connection getConnection() throws Exception { try{ Class.forName("org.postgresql.Driver"); return DriverManager.getConnection("jdbc:postgresql://127.0.0.1:5432/zona_net","postgres","postdba"); /*Se for fazer com o mysql ficará dessa forma: Class.forName("conn.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/cud_jsp"; String user = "root"; String password = "postdba"; conn = DriverManager.getConnection(url, user, password); */}catch(Exception e){ throw new Exception(e.getMessage()); } }/** * * @param conn * @param stmt * @param rs * @throws Exception */ public static void closeConnection(Connection conn, Statement stmt, ResultSet rs) throws Exception { close(conn, stmt, rs); }/** * * @param conn * @param stmt * @throws Exception */ public static void closeConnection(Connection conn, Statement stmt) throws Exception { close(conn, stmt, null); }/** * * @param conn * @throws Exception */ public static void closeConnection(Connection conn) throws Exception { close(conn,null,null); }
private static void close(Connection conn, Statement stmt, ResultSet rs) throws Exception
{
try{
if(rs!=null) rs.close();
if(stmt!=null) stmt.close();
if(conn!=null) conn.close();
} catch (Exception e) {
throw new Exception(e.getMessage());
}
}
}
Bom Galera eh issu. espero que gostem. Flow
Fonte: Fucando Na Net
Autor: Chicao Pessotta
| Próximo > |
|---|








