Conectando Java ao MySQL no Ubuntu

Publicado por Ronaldo Trindade em 01/12/2007

[ Hits: 29.696 ]

 


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;
+--------+--------+
| 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.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Vídeo tutoriais: Agenda com NetBeans e MySQL

Resolvendo erro do servidor Tomcat no Eclipse: "Cannot create a server using the selected type"

ERP rodando em plataforma Linux

Problemas com o classpath e o driver do MySQL no Java

Fazendo o touchpad Alps funcionar em kernel 2.6

  

Comentários
[1] Comentário enviado por arvdigo em 01/01/2008 - 16:29h

Apenas uma contribuição para quem não tenha muita experiência com o MySQL.
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

[2] Comentário enviado por ramon.rdm em 25/04/2009 - 21:56h

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!

[3] Comentário enviado por edivandoflf em 30/06/2010 - 10:27h

Valeu pela dica amigo!

[4] Comentário enviado por jacsonfh em 13/12/2012 - 23:58h

Valeu cara, um parte do seu trabalho me ajudou muito.

[5] Comentário enviado por jacsonfh em 14/12/2012 - 00:22h

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);
}
}
}
}



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts