alguem poderia me ajudar com exemplos que me esclareça um pool de conexão pq li que é a forma de deixa mais rapido a conexão com a base mysql...
mais realmente não sei por onde começar
Me ajudem com o pool de conexão
G
2 Respostas
S
O primeiro passo é escolher uma biblioteca para fazer o gerenciamento para você.
Recomendo C3P0, porque em minhas aplicações foi a que melhor “trabalhou” com o pool de conexões.
Após a escolha, basta substituir seu método que criar as conexões para usar as classes da biblioteca.
Posta seu método atual.
G
Classe conexão
package utilitarios;
import java.text.SimpleDateFormat;
import java.util.Locale;
import java.sql.*;
import javax.swing.*;
public class conexao
{
private String DriverName;
private Connection con;
public Statement stm;
public PreparedStatement pstm;
public ResultSet rst;
public ResultSet rst2;
public boolean Conecta()
{
boolean result = true;
try
{
//String driver = "com.mysql.jdbc.Driver"; //Classe do driver JDBC
DriverName = "org.gjt.mm.mysql.Driver";
String banco = "sistema"; //Nome do Banco criado sistema
String host = "netocp80"; //Maquina onde está o banco 01servidor
String url = "jdbc:mysql://" + host + ":3306/" + banco; //URL de conexão
String usuario = "root"; //Usuário do banco
String senha = "123"; //Senha de conexão
Class.forName(DriverName);
con = DriverManager.getConnection(url, usuario, senha);
//stm = (Statement) con.createStatement();
JOptionPane.showMessageDialog(null,"Conectado a Mysql!");
}
catch(ClassNotFoundException e)
{
JOptionPane.showMessageDialog(null,"Driver não localizado: "+e);
result = false;
}
catch(SQLException Fonte)
{
JOptionPane.showMessageDialog(null,"Deu erro na conexão "+
"com a fonte de dados: "+Fonte);
result = false;
}
return result;
}
public boolean Conecta2()
{
boolean result = true;
try
{
DriverName = "org.gjt.mm.mysql.Driver";
String banco = "sistema"; //Nome do Banco criado
String host = "netocp80"; //Maquina onde está o banco
String url = "jdbc:mysql://" + host + ":3306/" + banco; //URL de conexão
String usuario = "root"; //Usuário do banco
String senha = "123"; //Senha de conexão
Class.forName(DriverName);
con = DriverManager.getConnection(url, usuario, senha);
}
catch(ClassNotFoundException e)
{
JOptionPane.showMessageDialog(null,"Driver não localizado: "+e);
result = false;
}
catch(SQLException Fonte)
{
JOptionPane.showMessageDialog(null,"Deu erro na conexão "+
"com a fonte de dados: "+Fonte);
result = false;
}
return result;
}
public void Desconecta()
{
try
{
con.close();
JOptionPane.showMessageDialog(null,"Base de dados desconectado.");
}
catch(SQLException fecha)
{
JOptionPane.showMessageDialog(null,"Não foi possivel "+
"desconectar: "+fecha+" Ou não foi conectado no inicio. ");
}
}
public void ExecuteSQL(String sql)
{
try
{
stm = con.createStatement(
rst.TYPE_SCROLL_SENSITIVE,rst.CONCUR_READ_ONLY);
rst = stm.executeQuery(sql);
}
catch(SQLException sqlex)
{
JOptionPane.showMessageDialog(null,"Não foi possível "+
"executar o comando sql,"+sqlex+", o sql passado foi "+sql);
}
}
public void ExecuteSQL2(String sql)
{
try
{
stm = con.createStatement(
rst2.TYPE_SCROLL_SENSITIVE,rst2.CONCUR_READ_ONLY);
rst2 = stm.executeQuery(sql);
}
catch(SQLException sqlex)
{
JOptionPane.showMessageDialog(null,"Não foi possível "+
"executar o comando sql,"+sqlex+", o sql passado foi "+sql);
}
}
public void inserirgrava(String csql) {
try {
//Abrindo a conexão com o banco
// conecta3();
// Instanciando o objeto statement (stm)
stm = con.createStatement();
//Executando uma instrução Sql
stm.executeUpdate(csql);
// Fechando a conexão com o banco
// desconecta3();
}
catch (SQLException e) {
// Fechando a conexão com o banco
// desconecta3();
JOptionPane.showMessageDialog(null,"Não foi possível "+
"executar o comando mysql,"+csql+" .");
e.printStackTrace();
}
}
public void conecta3() {
try
{
DriverName = "org.gjt.mm.mysql.Driver";
String banco = "sistema"; //Nome do Banco criado
String host = "01servidor"; //Maquina onde está o banco
String url = "jdbc:mysql://" + host + ":3306/" + banco; //URL de conexão
String usuario = "root"; //Usuário do banco
String senha = "milmil123"; //Senha de conexão
Class.forName(DriverName);
con = DriverManager.getConnection(url, usuario, senha);
}
catch(ClassNotFoundException e)
{
JOptionPane.showMessageDialog(null,"Driver não localizado: "+e);
}
catch(SQLException Fonte)
{
JOptionPane.showMessageDialog(null,"Deu erro na conexão "+
"com a fonte de dados: "+Fonte);
}
}
public void desconecta3() {
try
{
con.close();
// JOptionPane.showMessageDialog(null,"banco fechado");
}
catch(SQLException fecha)
{
// JOptionPane.showMessageDialog(null,"Não foi possivel "+
// "fechar o banco de dados: "+fecha);
}
}
metodo de conectar pelos forms e alterar e gravar
public class cad_Cor extends javax.swing.JFrame {
MaskFormatter formatocco;
conexao con_Movpe;
FieldListener fl = new FieldListener();
String csql = "", cvar1 = " ";
int inc_alt_exc = 0;
String nl = "001";
/** Creates new form cad_Cor */
public cad_Cor() {
initComponents();
con_Movpe = new conexao();
con_Movpe.Conecta2();
gravando os dados
csql = "insert into "+cvar1+" (codcor,nomcor,sql_deleted) values ("+
sqlstr(cco)+","+sqlstr(nco)+",'F')";
con_Movpe.inserirgrava(csql);
Criado 3 de março de 2010
Ultima resposta 3 de mar. de 2010
Respostas 2
Participantes 2
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo Inteligencia Artificial e ChatGPT: Da revolucao dos... Por Fabricio Carraro — Casa do Codigo