[分享]eclipse 3.0 中jre设置的小错误导致在java文件中连接数据

80酷酷网    80kuku.com

  错误|连接数据库java.lang.ClassNotFoundException: org.gjt.mm.mysq.Driver
这也许是最普遍的错误了,一般解决方法就是检查数据库驱动是否安装到jdk目录下

(如:将mysql-connector-1-3-1.jar文件copy到jdk目录下的lib文件夹中)

classpath是否设置了驱动的目录

(CLASSPATH=.;D:\j2sdk\lib\dt.jar;D:\j2sdk\lib\tools.jar;D:\j2sdk\lib\mysql-connector-1-3-1.jar;)。

我的以上两项设置都正确,测试连接代码没有问题,但是在eclipse中就是报错(如上)

import java.sql.*;

public class mysqltest {

 public static void main(String[] args) {  //driverName  String driverName="org.gjt.mm.mysql.Driver";  //database username  String userName="root";  //psw  String userPasswd="ss";  //dbname  String dbName="java_app";  //tablename  String tableName="staff";  //conncet comments  String url="jdbc:mysql://localhost/"+dbName+"?user="+userName+"&password="+userPasswd;    System.out.println(url);     try{   Class.forName(driverName).newInstance();

   Connection connection=DriverManager.getConnection(url);   Statement statement = connection.createStatement();   String sql="SELECT * FROM "+tableName;   ResultSet rs = statement.executeQuery(sql);//    get result   ResultSetMetaData rmeta = rs.getMetaData();//    get col   int numColumns=rmeta.getColumnCount();//    output   for(int i=1;i<=numColumns;i++) {       if(i<numColumns)         System.out.print(rmeta.getColumnName(i)+" | ");       else         System.out.println(rmeta.getColumnName(i));       }       while(rs.next()){          for(int i=1;i<=numColumns;i++) {              if(i<numColumns)                 System.out.print(rs.getString(i).trim()+" | ");              else                 System.out.println(rs.getString(i).trim());          }       }    rs.close();    connection.close();   }catch(Exception ex){      System.out.println(ex);      System.exit(0);   }

 }}

在确认JDK这边没有问题后我把注意力转向eclipse的设置

(eclipse-->window-->preferences-->java-->installed JREs)



edit



小错误就在这!取消Use Default  system libraries

 

把数据库驱动所在的jar包加入



ok!保存设置重启eclipse,运行测试程序成功!



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: