import java.sql.*;
public class TestMysqlConnection{
public static void main(String args[]){
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
Connection conn =  DriverManager.getConnection("jdbc:mysql://localhost/mydata?user=root&password=root");
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("SQLException: " + e.getMessage());
System.out.println("SQLState: " + e.getSQLState());
System.out.println("VendorError: " + e.getErrorCode());
}
}
}
报出的异常为:import java.sql.*;
Exception in thread "main" java.lang.NoClassDefFoundError: org/aspectj/lang/Signature
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at TestMysqlConnection.main(TestMysqlConnection.java:7)
Caused by: java.lang.ClassNotFoundException: org.aspectj.lang.Signature
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 3 more

解决方案 »

  1.   

    1、
    这个是在搞什么?看不懂
    把后面那个去掉,,有了要报错吧
    Class.forName("com.mysql.jdbc.Driver");
    2、
    还有这种url连接方式。很难说没有错。。连3306端口都没有呢?
    Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/mydata?user=root&password=root");
      

  2.   


    mysql-connector-java-5.0.8-bin
    会不会是版本不兼容的问题呢?
      

  3.   


    第一:newInstance();有无毫不影响程序运行
    第二:同样的代码在别人机器上可以运行,这个端口好像是默认的吧?
      

  4.   


    connection.jar??这个jar包也要引进来?哪里有这个jar包?
      

  5.   

    Caused by: java.lang.ClassNotFoundException: org.aspectj.lang.Signature
    感觉少了包,换一个于你自己mysql版本一样的驱动包,或者到你的mysql安装的目录下找到那个驱动包,我记得5.0以上的驱动包可以在安装mysql下面找到的,那样就确保不会出现版本冲突问题。至于端口号一般是默认的,你查一下自己的mysql端口号吧!