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