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

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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,运行测试程序成功!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航