Pessoal,
Estou aprendendo java e, como tive dificuldades em conectar o Java ao MySql, estou postando aqui o caminho percorrido até conseguir que tudo funcionasse a contento.
Na seqüência, temos os passos para a criação de uma banco de dados chamado "biblioteca", uma tabela chamada "teste", para o usuário "admin" com senha "123456".
A parte mais complicada foi determinar a forma de conexão, bem como o lugar onde colocar a biblioteca de conexão (.jar). Vejam a seqüência:
colocar o arquivo: mysql-connector-java-5.1.5-bin.jar
(obtido em:
http://www.mysql.com/products/connector/j/)
no diretorio: /usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/ext/
criar no mysql o banco: biblioteca
root@civil:/home/trindade# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 30
Server version: 5.0.45-Debian_1ubuntu3-log Debian etch distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database biblioteca;
Query OK, 1 row affected (0.01 sec)
mysql> grant all privileges on biblioteca.* to admin identified by "123456";
Query OK, 0 rows affected (0.02 sec)
mysql> create table teste(codigo varchar(10), nome varchar(30));
Query OK, 0 rows affected (0.00 sec)
mysql> insert into teste(codigo,nome) values("123","teste1");
Query OK, 1 row affected (0.00 sec)
mysql> insert into teste(codigo,nome) values("122","teste2");
Query OK, 1 row affected (0.00 sec)
mysql> insert into teste(codigo,nome) values("124","teste4");
Query OK, 1 row affected (0.01 sec)
mysql> select * from teste;
+--------+--------+
| codigo | nome |
+--------+--------+
| 123 | teste1 |
| 122 | teste2 |
| 124 | teste4 |
+--------+--------+
3 rows in set (0.00 sec)
mysql> quit
Bye
root@civil:/home/trindade#
crie o arquivo teste4.java com o seguinte conteúdo:
import java.sql.*;
public class teste4
{
public static void main(String[] args)
{
String url = "jdbc:mysql://localhost:3306/biblioteca";
String login = "admin";
String senha = "123456";
try
{
Class.forName("com.mysql.jdbc.Driver").newInstance();
System.out.println("\nDriver carregado com sucesso!\n");
try
{
Connection conn = DriverManager.getConnection(url, login, senha);
try
{
String sql = "SELECT codigo,nome FROM teste";
Statement stm = conn.createStatement();
try
{
ResultSet rs = stm.executeQuery(sql);
while (rs.next())
{
String nome = rs.getString("nome");
String codigo = rs.getString("codigo");
System.out.println("Codigo: " + codigo + "\nNome: " +nome);
System.out.println("---------------------------------------");
}
System.out.println("\nConsulta realizada com sucesso!!!\n");
}
catch (Exception ex)
{
System.out.println("\nErro no resultset!");
}
}
catch (Exception ex)
{
System.out.println("\nErro no statement!");
}
}
catch (Exception ex)
{
System.out.println("\nErro no connection!");
}
}
catch (Exception ex)
{
System.out.println("\nDriver nao pode ser carregado!");
}
}
}
na linha de comando, compilando e executando:
trindade@civil:~/Desktop/biblioteca/teste4$ javac teste4.java; java teste4
Driver carregado com sucesso!
Codigo: 123
Nome: teste1
---------------------------------------
Codigo: 122
Nome: teste2
---------------------------------------
Codigo: 124
Nome: teste4
---------------------------------------
Consulta realizada com sucesso!!!
trindade@civil:~/Desktop/biblioteca/teste4$
Espero que seja útil para outros colegas.
Um abraço.
Ronaldo Trindade.