Estundando e tentando melhora fiz um código de conexão esta funcionando porém eu gostaria de comentários para melhorar. Esse exemple que fiz é com Statement, depois vou fazer com PreparedStatement.
Então fiz da seguinte forma.
Fiz a class de conexão dessa forma:
/*
* Conexao.java
*
* Created on 22 de Maio de 2007, 21:00
*/
package conexao;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
/**
*
* @author alexandre
* @version
*/
public class Conexao {
private static String NAME = "com.mysql.jdbc.Driver";
private static String URL = "jdbc:mysql://localhost/basedados";
private static String LOGIN = "root";
private static String PASS = "";
private static Connection conn;
/**
*
* @return Conexao.
* @throws SQLException
* @throws IOException
*/
public static Connection connect() throws SQLException, IOException {
try {
Class.forName(NAME);
conn = DriverManager.getConnection(URL, LOGIN, PASS);
} catch (ClassNotFoundException e) {
System.out.print("\nNão foi possível estabelecer conexão com a base de dados.\n");
e.printStackTrace();
return null;
}
return conn;
}
}
E uso essa conexão em outra class da seguinte forma:
/*
* DAO_usuario.java
*
* Created on 22 de Maio de 2007, 21:44
*
* To change this template, choose Tools | Template Manager
* and open the template in the editor.
*/
package DAO;
import java.io.*;
import java.net.*;
import java.util.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.ResultSet;
import conexao.Conexao;
/**
*
* @author alexandre
*/
public class DAO_usuario
{
public String usuario;
public String senha;
public String consulta;
public String logado;
public String outros;
private ResultSet rs;
private Connection conn;
private Statement sql;
public void DAO_dados(String getUsuario, String getSenha) throws SQLException, IOException
{
conn = Conexao.connect();
sql = conn.createStatement();
usuario = getUsuario;
senha = getSenha;
consulta = "select * from senhadeals where senha='"+senha+"' and usuario='"+usuario+"' limit 1 ";
rs = sql.executeQuery(consulta);
while(rs.next())
{
logado = rs.getString("nome");
}
}
public void DAO_outros(String getOutros) throws SQLException, IOException
{
conn = Conexao.connect();
sql = conn.createStatement();
outros = getOutros;
consulta = "select * from tabela2 where outros='"+outros+"' limit 1 ";
rs = sql.executeQuery(consulta);
while(rs.next())
{
resultado = rs.getString("outros");
}
}
public String setLogado()
{
return logado;
}
public String setOutros()
{
return outros;
}
}
Eu tenho a class que faz a conexão e a class que usa a conexão. O código esta funcionando. Acho apenas que essa class DAO_usuario tem uma falha não sei se é uma falha ou se é dessa forma mesmo! Eu me refiro ao seguinte eu tenho dois métodos que são:
1) public void DAO_dados(String getUsuario, String getSenha) throws SQLException, IOException
2) public void DAO_outros(String getOutros) throws SQLException, IOException
Em cada um desses métodos eu chamo o comando:
conn = Conexao.connect();
Tenho que chamar ele em cada método mesmo ou tem alguma forma de chamar ele apenas em algum lugar dessa classe e ja sirva para todos os métodos? É a única dúvida que ficou.