Conectando Java ao MySQL no Ubuntu
Dica publicada em Java / Banco de Dados
Conectando Java ao MySQL no Ubuntu
Pessoal, estou aprendendo java e como tive dificuldades em conectá-lo 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 diretório /usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/ext/.
Criar no MySQL o banco: biblioteca
# 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;
Bye
Crie o arquivo teste4.java com o seguinte conteúdo:
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 diretório /usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/ext/.
Criar no MySQL o banco: biblioteca
# 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
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:
$ 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!!!
Espero que seja útil para outros colegas.
Um abraço.
Ronaldo Trindade.
#1
Comentário enviado por arvdigo em 01/01/2008 - 16:29h
#2
Comentário enviado por ramon.rdm em 25/04/2009 - 21:56h
#3
Comentário enviado por edivandoflf em 30/06/2010 - 10:27h
#4
Comentário enviado por jacsonfh em 13/12/2012 - 23:58h
#5
Comentário enviado por jacsonfh em 14/12/2012 - 00:22h
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:
$ 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!!!
Espero que seja útil para outros colegas.
Um abraço.
Ronaldo Trindade.
Outras dicas deste autor
Nenhuma dica encontrada.Leitura recomendada
Vídeo tutoriais: Agenda com NetBeans e MySQL
Problemas com o classpath e o driver do MySQL no Java
ERP rodando em plataforma Linux
Resolvendo erro do servidor Tomcat no Eclipse: "Cannot create a server using the selected type"
Comentários
Cara valeu a dica!!!!
Estava aqui quebrando cabeça, e com uns ajustes a minha realidade consegui fazer a conexao com o banco mysql.
Muito bom exemplo para quem precisa aprender rápido a fazer uma conexo com o banco de dados e java!
Valeu Ronaldo!
Estava aqui quebrando cabeça, e com uns ajustes a minha realidade consegui fazer a conexao com o banco mysql.
Muito bom exemplo para quem precisa aprender rápido a fazer uma conexo com o banco de dados e java!
Valeu Ronaldo!
Valeu pela dica amigo!
Valeu cara, um parte do seu trabalho me ajudou muito.
Mais um dica para quem está aprendendo como eu.
//Caminho do pacote
package br.com.jfh.mysql.jdbc;
//Imports
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/**
*
* @author jacsonfh
* @version 0.1
*/
public class AcessoBanco {
//Não estou tratando as Exceptions intensionalmente para ver o código puro e testar.
public static void main(String[] args) throws Exception {
String sql = "SELECT * FROM dti.documentos";
String url = "jdbc:mysql://localhost:3306/dti";
try (java.sql.Connection con = DriverManager.getConnection(url, "root", "root");
PreparedStatement stm = con.prepareStatement(sql);
ResultSet rs = stm.executeQuery()) {
while (rs.next()) {
String s = rs.getString("iddocumentos")
+ "; " + rs.getString("titulo")
+ "; " + rs.getString("descricao")
+ "; " + rs.getString("datacria")
+ "; " + rs.getString("dataaltera")
+ "; " + rs.getString("anexos");
String tipo = rs.getString("idtipo");
String sqltipo = "SELECT * FROM dti.tipos";
PreparedStatement stm2 = con.prepareStatement(sqltipo);
ResultSet rstipo = stm2.executeQuery()
){
while (rstipo.next()) {
if (rstipo.getString("idtipos").equals(rs.getString("idtipo"))) {
s = s + "; " + rstipo.getString("descricao");
}
}
System.out.println(s);
}
}
}
}
//Caminho do pacote
package br.com.jfh.mysql.jdbc;
//Imports
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
/**
*
* @author jacsonfh
* @version 0.1
*/
public class AcessoBanco {
//Não estou tratando as Exceptions intensionalmente para ver o código puro e testar.
public static void main(String[] args) throws Exception {
String sql = "SELECT * FROM dti.documentos";
String url = "jdbc:mysql://localhost:3306/dti";
try (java.sql.Connection con = DriverManager.getConnection(url, "root", "root");
PreparedStatement stm = con.prepareStatement(sql);
ResultSet rs = stm.executeQuery()) {
while (rs.next()) {
String s = rs.getString("iddocumentos")
+ "; " + rs.getString("titulo")
+ "; " + rs.getString("descricao")
+ "; " + rs.getString("datacria")
+ "; " + rs.getString("dataaltera")
+ "; " + rs.getString("anexos");
String tipo = rs.getString("idtipo");
String sqltipo = "SELECT * FROM dti.tipos";
PreparedStatement stm2 = con.prepareStatement(sqltipo);
ResultSet rstipo = stm2.executeQuery()
){
while (rstipo.next()) {
if (rstipo.getString("idtipos").equals(rs.getString("idtipo"))) {
s = s + "; " + rstipo.getString("descricao");
}
}
System.out.println(s);
}
}
}
}
Antes de executar a linha
mysql> create table teste(codigo varchar(10), nome varchar(30));
é necessário selecionar a base de dados de interesse. Isso é feito através do seguinte comando:
mysql> use biblioteca;
Vlw