Urgente Ajuda uso da Conexao MYSQL

Ola a todos ,

Estou ainda com dificuldades para testar o mysql na minha maquina  : Ja setei o classpath : 

.;C:\j2sdk1.4.2_08\lib\tools.jar;C:\j2sdk1.4.2_08\lib\dt.jar;C:\j2sdk1.4.2_08\lib\htmlconverter.jar;C:\j2eesdk-1_4_01\lib\j2ee.jar;C:\j2eesdk-1_4_01\lib\j2ee-ri-svc.jar;C:\j2eesdk-1_4_01\lib\ejb10deployment.jar;C:\j2eesdk-1_4_01\lib\jhall.jar;C:\mysql-connector-java-3.1.10\mysql-connector-java-3.1.10-bin-g.jar[b]
Uso XP coloquei a seguinte classe de teste no projeto Tomcat do Eclipse

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class JDBCExemplo {
public static void main(String[] args) {

try {
Class.forName(“com.mysql.jdbc.Driver”);
Connection con =
DriverManager.getConnection
(“jdbc:mysql://3306/test”); // Duvida é esse localhost que eu coloco ou 8080 ???

System.out.println(“Conectado!”);
con.close();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
e Deu o erro depois do Run do Eclipse : java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at JDBCExemplo.main(JDBCExemplo.java:10)
Exception in thread “main”
Depois fui para o prompt do Xp e rodei a mesma classe e deu o erro tbm :
java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at JDBCExemplo.main(JDBCExemplo.java:10)
Exception in thread “main”

   Alguem me ajuda o que será que está faltando nao estou enxergando a falha  .......obrigada[code][u]

8080 é a porta do tomcat, não a do mysql, use o seguinte:

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/nomeDoBanco?user=usuario&password=senha");

E não se esqueça de colocar o jar do driver do mysql no WEB-INF/lib da sua aplicação, ou colocar no TOMCAT_HOME/common/lib

:smiley:

1 - Você está fazendo um programa que não vai rodar no tomcat, e sim no console do SO.

public static void main(String[] args) {

Portanto esqueça o tomcat nesse momento.

2 - A URL está errada não é:

jdbc:mysql://3306/test

e sim

jdbc:mysql://localhost:3306/test

levando em conta que a tua base de dados chama-se test
a porta é 3306 porta do servidor de banco de dados MySQL, novamente não confunda com o Tomcat Ainda.

Dê uma olhada no link abaixo é uma documentação do Driver de JDBC do MySQL

http://dev.mysql.com/doc/connector/j/en/index.html

Agroa o problema de quando vc executa no Eclipse é que o projeto não enxerga essas classes, apesar de elas estarem sendo definidas no classpath. Você deve indicar para o Eclipse o caminho de tuas classes. Para isso clique com o botão direito no teu projeto e vá em properties, depois clique em “java build path”, acesse então a aba libraries e adicione a classe do JDBC do MySQL pode ser tanto clicando em “Add JARs” ou em “Add External JARs”

 Olá ,

 Vamos lá  já coloquei o jar do driver do mysql no TOMCAT_HOME/common/lib e sobre este passo ja fiz tbm : Connection conn DriverManager.getConnection("jdbc:mysql://localhost/nomeDoBanco?user=usuario&password=senha");

java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at JDBCExemplo.main(JDBCExemplo.java:10)
Exception in thread “main”
E no console do SO dá tbm o mesmo erro
Sinceridade eu nao sei mais .Voces conhecem algum livro de MYSQL que mostre passo a passo como usar o JDBC e com exercicios ? Desde já agradeço a ajuda de vcs mas esta meio complicado .

 Abraços

Você tem que colocar o arquivo aspectjrt.jar que está na pasta “lib” do arquivo que você baixou da página do MySQL no seu classpath.

Vamos por partes, já tive essa experiência com Eclipse/MySQL

1- Verificar se o serviço do MySQL esta rondando.

2- Importar as classes do MySQL para dentro do eclipse.

Fazendo um Add JARs para o build path ou fazendo um Add External JARs… (prefiro esse último)

Para isso clique no nome da aplicação botão direito do mouse é a última opção (Properties)

Vai abrir uma janela, clique em Java Build Path, depois aba Libraries, veja os dois primeiros botões Add JARs… e Add External JARs…

Segue um código exemplo

/* Implementação do pattern Singleton para conexão a banco de dados */

package br.zj8t.patterns.singleton.DBConnection;

import java.sql.*;

public final class DBConnection {

	//Referência para instância única
	private static Connection instance = null;

	//Driver
	//private static String DRIVER_ODBC = "sun.jdbc.odbc.JdbcOdbcDriver";
	private static String DRIVER_ODBC = "org.gjt.mm.mysql.Driver";

	//Banco 
	//private static final String BANCO_ODBC = "jdbcdbc:banco";
	
	//	 Criando a conexão com o Banco de Dados
	String serverName = "localhost";
	String mydatabase = "Integra";
	String url = "jdbc:mysql://" + serverName + "/" + mydatabase; // a JDBC url
	String username = "root";
	String password = "sql";

	//Construtor privado
	private DBConnection() throws ClassNotFoundException, SQLException {
		try {
			Class.forName(DRIVER_ODBC);
			System.out.println("[Driver loaded]");

			instance = DriverManager.getConnection(url, username, password);
			System.out.println("[Connection done]");
			System.out.println("[Connection obtained]");

		} catch (ClassNotFoundException e) {

			System.err.println("[Class not found]");

		} catch (SQLException e) {

			System.err.println("[Connection erro]");

		}

	}

	//Fornece acesso a instância única
	public static Connection getConnection() throws ClassNotFoundException,
			SQLException {

		if (instance == null) {
			//Lazy instantation:só quando preciso
			new DBConnection();
		}

		//Retorna a instância única da conexão
		return instance;

	}

	//Encerra a conexão adequadamente
	public static void shutdown() throws ClassNotFoundException, SQLException {

		if (instance != null) {

			instance.close();
			instance = null;
			System.out.println("[Connection closed]");

		}
	}
}
 Obrigada pela ajuda  depois pra rodar esta aplicacao ja segui os passos  acima tenho que dar um run no Eclipse ....e  com isso ja visualizo ?

 Adriana

Se voce estiver fazendo a consulta correta e exibindo-a corretamente. Sim. :mrgreen:

Dica.

Leia esse livro, é de leitura bem fácil é rápida porém indispensável.

JDBC e Java: Programação para Banco de Dados
GEORGE REESE

calma adriana, parece que voce esta muito apavorada, depois de tudo isso, crie uma classe de conexao, organize suas pastas e vc nao precisa sempre estar repetindo todas essas linhas de codigo, basta vc instancia-la sempre que for usar em uma outra classe, o codigo de Escher esta bom, mas se voce procurar aqui no forumpodera encontrar algo mais simples !
so uma dica

Veja isso:

[code]/**

  • DBConnection - conexao de banco
  • @(#)DBConnection Versão 1.0
  • @author McCloud
  • @version 1.0
    /
    import java.util.
    ;
    import java.sql.*;

public class DBConnection
{
private Connection connection;
private Statement statement;

private String driver="com.mysql.jdbc.Driver";
private String url="jdbc:mysql://localhost/tabela";
private String login="root";
private String password="senha";

public DBConnection()
{
	open();
}

public DBConnection(Properties props)
{
	this.driver	= props.getProperty("driver");
	this.url	= props.getProperty("url");
	this.login	= props.getProperty("login");
	this.password	= props.getProperty("password");
	open();
}

public DBConnection(String driver,String url,String login,String password)
{
	this.driver	= driver;
	this.url	= url;
	this.login	= login;
	this.password	= password;
	open();
}

public static DBConnection getInstance()
{
	return new DBConnection();
}

public void open()
{
	try
	{
  		Class.forName(driver);
	}
	catch (ClassNotFoundException e)
	{
		System.err.println("Error = " + e);
	}

	try
	{
  		connection = DriverManager.getConnection(url, login, password);
  		statement = connection.createStatement();
	}
	catch (SQLException e)
	{
  		System.err.println("Error = " + e);
  		connection = null;
	}
}

/** Efetua leitura do objeto de Connection
*
* @return objeto Connection
*/
public Connection getConnection()
{
		return connection;
}

/** Efetua commit no banco
*
*/
public void commit() throws SQLException
{
		connection.commit();
}

/** Efetua roolback no banco
*
*/
public void rollback() throws SQLException
{
		connection.rollback();
}

/** Efetua commit no banco
*
* @param  autoCommit - estabelece autocommit
*/
public void setAutoCommit(boolean autoCommit) throws SQLException
{
		connection.setAutoCommit(autoCommit );
}

/** Retorna uma consulta do banco de dados
*
* @param  String contendo a query
* @return cursor da query
*/
public ResultSet executeQuery(String sql) throws SQLException
{
		return statement.executeQuery(sql);
}

/** Executa comando SQL
*
* @param  String contendo comando SQL a ser executado
* @return Status da execução do comando
*/
public int executeUpdate(String sql) throws SQLException
{
		return statement.executeUpdate(sql);
}

/** Fecha conexão ao desalocar o objeto
*
*/
public void dispose()
{
		try
		{
  			connection.close();
		}
		catch (SQLException e)
		{ }
}

}[/code]

[code]import java.sql.*;

public class Teste {

public Teste() throws SQLException{
	DBConnection classeConexao=new DBConnection();
	Connection conexao=classeConexao.getConnection();
	
	PreparedStatement pstmt = null;
	ResultSet rs = null;
	
	StringBuffer sql = new StringBuffer();
	sql.append("SELECT * FROM TESTE");
	
	try{
		pstmt = conexao.prepareStatement(sql.toString());
	}
	catch(Exception e){
		e.printStackTrace();
	}
	
	rs=pstmt.executeQuery();
	while(rs.next()){
		System.out.println(""+rs.getInt("ID"));
		System.out.println(rs.getString("NOME"));
	}
	
}

public static void main(String args[]) throws SQLException{
	Teste teste=new Teste();
}

}[/code]

OBRIGADA PELAS DICAS !!!

ADRIANA