Pular para o conteúdo

Conectando Java ao MySQL no Ubuntu

Dica publicada em Java / Banco de Dados
Ronaldo Trindade rs_trindade
Hits: 30.676 Categoria: Java Subcategoria: Banco de Dados
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
Nenhuma dica encontrada.

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

Problemas com o classpath e o driver do MySQL no Java

Vídeo tutoriais: Agenda com NetBeans e MySQL

ERP rodando em plataforma Linux

Curso gratuito de JAVA

#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

Entre na sua conta para comentar.