Quero começar a usar banco de dados em Java, baixei o JDBC do MySQL mas não consigo instalar, a rotina pra conectar ao banco de dados é esta:
[code]public JdbcConnection() {
super();
/*
* Os dados setados abaixo servem para uma conexão em MySQL.
* Altere de acordo com seu BD.
*
* Aconselhamos carregar estes dados de um arquivo.
*/
//“jdbc:mysql://localhost:3306/meu_bd”;
hostName = “localhost”;
userName = “root”;
password = “*****”;
jdbcDriver = “org.gjt.mm.mysql.Driver”;
dataBaseName = “meu_bd”;
dataBasePrefix = “jdbc:mysql://”;
dabaBasePort = “3306”;
@return con
*/
public Connection getConnection() {
try {
if (con == null) {
Class.forName(jdbcDriver);
con = DriverManager.getConnection(url, userName, password);
} else if (con.isClosed()) {
con = null;
return getConnection();
}
} catch (ClassNotFoundException e) {
//TODO: use um sistema de log apropriado.
e.printStackTrace();
} catch (SQLException e) {
//TODO: use um sistema de log apropriado.
e.printStackTrace();
}
return con;
}
/**
Fecha a conexão com BD.
*/
public void closeConnection() {
if (con != null) {
try {
con.close();
} catch (SQLException e) {
//TODO: use um sistema de log apropriado.
e.printStackTrace();
}
}
[/code]
se vc tiver a variavel CLASSPATH seta em seu sistema, basta adicionar o .jar no nessa variavel, senao vc pode colocar o .jar dentro de JAVA_HOME/jre/lib/ext (acho que é aqui mesmo)
e se for uma aplicação web com tomcat você pode colocar em
TOMCA_HOME/webapps/suaApp/WEB-INF/lib
Mas essa pasta tem muitos arquivos, tem um jar chamado mysql-connector-blablabla e depois tem várias pastas!!! Eu to boiando aqui!!! No Windows meu classpath é no javahome/bin se não me engano!!!
Aff não está dando certo, como diz no arquivo eu tenho que por na pasta /usr/lib/java/jre/lib/ext os seguintes arquivo, mysql-connector-java-3.1.6-bin.jar e as pastas com e org!! Mas minha aplicação ainda não acha o driver, o MySQL está conectado, somente isso que falta!!!
Aff não está dando certo, como diz no arquivo eu tenho que por na pasta /usr/lib/java/jre/lib/ext os seguintes arquivo, mysql-connector-java-3.1.6-bin.jar e as pastas com e org!! Mas minha aplicação ainda não acha o driver, o MySQL está conectado, somente isso que falta!!!
comecei a programar recentemente e estou tentando fazer um pequeno programa que acessa um BD MySql.
o servidor esta rodando na maquina local, acho que coloquei o driver no claspath nao tenho certeza do dir certo.
bom nao sei qual o erro
package utilitarios;
import java.sql.*;
import javax.swing.*;
public class conexao
{
String classpath = "postgresql-8.3-603.jdbc4.jar";
final private String driver = "com.mysql.jdbc.Driver";
final private String url = "jdbc:mysql://127.0.0.1:3306/masterprint";
final private String usuario = "root";
final private String senha = "senha";
private Connection conexao;
public Statement statement;
public ResultSet resultset;
public boolean conecta()
{
boolean result = true;
try
{
Class.forName(driver);
conexao = DriverManager.getConnection(url, usuario, senha);
JOptionPane.showMessageDialog(null,"conectou Mysql");
}
catch(ClassNotFoundException Driver)
{
result = false;
JOptionPane.showMessageDialog(null, "nao conectou");
}
catch(SQLException Fonte)
{
result = false;
JOptionPane.showMessageDialog(null, "nao conectou2");
}
return result;
}
public void desconecta()
{
boolean result = true;
try
{
conexao.close();
}
catch(SQLException erroSQL)
{
result = false;
}
}
public void executeSQL(String sql)
{
try
{
statement = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
resultset = statement.executeQuery(sql);
}
catch(SQLException sqlex)
{
JOptionPane.showMessageDialog(null,"Não foi possível "+
"executar o comando sql,"+sqlex+", o sql passado foi "+sql);
}
}
}
o eero que aparece e o seguinte
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at utilitarios.conexao.executeSQL(conexao.java:56)
at cadastro.clientes.<init>(clientes.java:23)
at cadastro.clientes$13.run(clientes.java:700)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)