Con Java + Mysql

10 respostas
A

Boa noite à todos, por favor sou iniciante em Java e não estou conseguindo fazer conexão com o mysql alguem poderia me ajudar?

obs.: Driver inserido no projeto…

package javamysql;

import java.sql.*;

/**
 *
 * @author FNKY!
 */
public class Exemplo1 {
    public static void main(String[] args) throws ClassNotFoundException {
        Connection con = null;
        try{
            Class.forName("jdbc:mysql://localhost/cliente");
            con = DriverManager.getConnection("jdbc:odbc:mysql","root","root");
            Statement stm = con.createStatement();
            String sql = "SELECT * FROM cliente";
            ResultSet rs = stm.executeQuery(sql);

            while(rs.next()){
                int id = rs.getInt("ID_CLI");
                String nome = rs.getString("NOME");
                String email = rs.getString("EMAIL");
                int telefone = rs.getInt("TELEFONE");
                int celular = rs.getInt("CELULAR");
                System.out.println("Id: " + id + "Nome: " + nome + "Email: " + email + "Telefone: " + telefone + "Celular: " + celular);
            }
        }
    catch(SQLException e){
        e.printStackTrace();
    }
    finally{
        try{
            con.close();
        }
        catch(SQLException onConClose){
                System.out.println("Houve um Erro no fechamento da conexão");
                onConClose.printStackTrace();
        
        }     
}
    }
}

ATT

10 Respostas

V

também sou iniciante nisso, mas creio que o que está errado é o Class.forName…
você deve especificar o driver a ser usado…
exemplo:

static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; Class.forName(JDBC_DRIVER);

e a linha

con = DriverManager.getConnection("jdbc:odbc:mysql","root","root");

trocar por:

DriverManager.getConnection("jdbc:mysql://localhost/cliente","root","root");

eu aconselho usar variáveis final para armazenar o caminho do banco, e o nome do driver…

abraço

C

Deixei um exemplo básico de conexão neste tópico

http://www.guj.com.br/posts/list/67699.java#356408

não esquece de colocar o driver do mysql no common/lib do tomcat!

destination

Concordo com a resposta acima. É melhor criar duas variáveis finais, uma para a URL e outra para o DRIVER. O Class.ForName carrega o driver e por isso deve vir antes do getConnection(). O getConnection obtém a conexão utlizando a URL. Normalmente a URL termina com um “;”. Qualquer dúvida consulte a JDBC API, contém muita informação útil.

abraços

A

Boa noite , por favor fiz as modificações e desde ja quero agradecer as respostas, mas esta dando esse erro o que pode ser?

init:

deps-jar:

compile:

run:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database cliente

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)

at com.mysql.jdbc.Util.getInstance(Util.java:381)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1031)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3376)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3308)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:894)

at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3808)

at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1256)

at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2032)

at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:729)

at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:46)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

at java.lang.reflect.Constructor.newInstance(Constructor.java:513)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)

at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)

at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:283)

at java.sql.DriverManager.getConnection(DriverManager.java:582)

at java.sql.DriverManager.getConnection(DriverManager.java:185)

at javamysql.Exemplo1.main(Exemplo1.java:25)

Exception in thread main java.lang.NullPointerException

at javamysql.Exemplo1.main(Exemplo1.java:44)

Java Result: 1

EXECUTADO COM SUCESSO (tempo total: 0 segundos)

ATT

destination

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database ‘cliente’

Cliente é a sua base de dados? Você verificou se você possui essa base de dados criada no seu servidor? Faça isso, pois a exceção acusa que não existe.

no teu url se não estiver, deve colocar databaseName=cliente

DriverManager.getConnection(“jdbc:mysql://localhost;databaseName=cliente;”,“root”,“root”);

Lembre-se: Cliente é diferente de cliente.

francislon

Exemplo de conexão:

try { Class.forName("com.mysql.jdbc.Driver").newInstance(); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/?user=usuario&password=senha"); return true; } catch (InstantiationException ex) { Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex); return false; } catch (IllegalAccessException ex) { Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex); return false; } catch (SQLException ex) { Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex); return false; } catch (ClassNotFoundException ex) { Logger.getLogger(Conexao.class.getName()).log(Level.SEVERE, null, ex); return false; }

Veja ai se dá certo.

A

Obrigado à todos, fiz a consulta, segue codigo:

package javamysql;
import java.sql.*;
public class Exemplo1 {
    
    public static void main(String[] args) throws SQLException {
        Connection conn = null;
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();  
            conn = DriverManager.getConnection("jdbc:mysql://localhost/dbx?user=root&password=root");
        } catch (InstantiationException ex) {
            ex.printStackTrace();
        } catch (IllegalAccessException ex) {
            ex.printStackTrace();
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        }
        Statement stm = conn.createStatement();
        String sql = "SELECT * FROM cliente";
        ResultSet rs = stm.executeQuery(sql);

        while(rs.next()){
            int id = rs.getInt("ID_CLI");
            String nome = rs.getString("NOME");
            String email = rs.getString("EMAIL");
            int telefone = rs.getInt("TELEFONE");
            int celular = rs.getInt("CELULAR");
            System.out.println("Id: " + id + "Nome: " + nome + "Email: " + email + "Telefone: " + telefone + "Celular: " + celular);
        }
    }
}
pedroabs
package test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

public class TesteMySql {
	public static void main(String[] args) {
		String driver = "com.mysql.jdbc.Driver";
		String connection = "jdbc:mysql://localhost:3306/Motta";
		String user = "root";
		String pass = "123456";

		try {
			Class.forName(driver);
			Connection con = DriverManager.getConnection(connection, user, pass);
			
			PreparedStatement pst = con.prepareStatement("select * from Usuarios");
			ResultSet rs = pst.executeQuery();
			
			while(rs.next()){
				String alimento = rs.getString("apelido");
				System.out.println(alimento);
			}
			
		} catch (ClassNotFoundException e) {
			System.out.println("Classe não encontrada");
		}

		catch (SQLException e) {
			System.out.println("Problemas com o BD" + e);
		}
	}
}
LPJava

dar uma olhada nesse post: http://camilolopes.wordpress.com/2009/04/14/criando-conexao-java-mysql-com-eclipse/

abracos,

Yag

IMPORTE ISTO

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
import java.sql.DriverManager;
import java.sql.ResultSet;

Esta é a conexão que estou usando ta fuincionado blz

try{
       Class.forName("com.mysql.jdbc.Driver");
       Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/NOME-DO-BD","USER", "SENHA");  
       Statement yago = (Statement) con.createStatement();
    //yago.executeUpdate("insert into jogador (nome) values ('"+nome+"')"); 

 
       con.close();
        }
catch(Exception e){
    System.out.println("erro");
Criado 19 de janeiro de 2008
Ultima resposta 14 de jan. de 2012
Respostas 10
Participantes 8