用java连接MySQL出现错误:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 100

我在网上找到的代码importjava.sql.*;publicclassJDBCTest{publicstaticvoidmain(String[]args){//驱动... 我在网上找到的代码
import java.sql.*;
public class JDBCTest {
public static void main(String[] args){

//驱动程序名
String driver = "com.mysql.jdbc.Driver";
// URL指向要访问的数据库名scutcs
String url = "jdbc:mysql://127.0.0.1:3306/scutcs";
// MySQL配置时的用户名
String user = "root";
// Java连接MySQL配置时的密码
String password = "root";
try {

// 加载驱动程序
Class.forName(driver);

// 连续数据库
Connection conn = DriverManager.getConnection(url, user, password);

if(!conn.isClosed())
System.out.println("Succeeded connecting to the Database!");

// statement用来执行SQL语句
Statement statement = conn.createStatement();

// 要执行的SQL语句
String sql = "select * from tbmakerdata";
String InsertData = "insert into tbmakerdata(Name,Type,Lat,Lng) values ('0102123','myIconW','39.1087','117.1771');";

//结果集
//statement.executeUpdate(InsertData);
ResultSet rs = statement.executeQuery(sql);
System.out.println("-----------------");
System.out.println("执行结果如下所示:");
System.out.println("-----------------");
System.out.println("图标类型" + "\t" + "名称" +"\t" +"经纬度");
System.out.println("-----------------");
String name = null;
while(rs.next()) {
//选择sname这列数据
name = rs.getString("Name");
// 首先使用ISO-8859-1字符集将name解码为字节序列并将结果存储新的字节数组中。
// 然后使用GB2312字符集解码指定的字节数组
//name = new String(name.getBytes("ISO-8859-1"),"GB2312");
// 输出结果
System.out.println(rs.getString("Type") + "\t" + name + "\t" + rs.getString("Lat") + "\t" + rs.getString("Lng"));
}
rs.close();
conn.close();
} catch(ClassNotFoundException e) {
System.out.println("Sorry,can`t find the Driver!");
e.printStackTrace();
} catch(SQLException e) {
e.printStackTrace();
} catch(Exception e) {
e.printStackTrace();
}

}
}

用这个代码新建一个项目就可以正常运行并连接数据库。
当我将它写入另一个项目的一个方法时就报错java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
我这个类里也导入了java.sql.*,而且com.mysql.jdbc.Driver的路径也和上一个项目的路径相同。
求大神帮我分析分析是哪里出的错误啊?急死了
展开
 我来答
生物信息研究者
2012-05-29 · TA获得超过524个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:207万
展开全部
个人觉得如果你单独成一个项目能运行的话,换成一个方法也是没有问题的,楼上的那些方法肯定都不是出错的地方,因为如果没有导入包的话你这个程序都不可能运行的。但是现在出现了问题,这其中一种最优可能的原因是你擅自把在这个函数中的某些个变量比如Driver定义在了函数访问不到的地方,比如主函数中,这就有可能导致出错。其实你应该把出问题的那个项目贴出来,大家才能帮得到你。不然你让大家一顿猜,很难找到真正出错的原因。
更多追问追答
追问
你说的非常有道理!!下面是我出问题的那个类,我在其他类中调用的这个类的toDataBase()方法
package com.ibm.googlemap;
import java.sql.*;
public class DataBaseMarker {
public static void toDataBase(){
String driver = "com.mysql.jdbc.Driver";
。。。。。
后面的内容与上面的那个撑血完全一样了,字符有限粘不全了
追答
这!!如果是这样子的话,真是bug了。我运行了你的函数,也把它写成了方法体在另一个函数中调用,可是悲剧我是没有出错的,不然应该能找出原因的。惭愧,不知道你那儿是怎么回事了……
百度网友0e59674
2012-05-29 · 超过26用户采纳过TA的回答
知道答主
回答量:121
采纳率:0%
帮助的人:66万
展开全部
楼主,一楼说的可能有点不对,如果你只是要运行这段代码的话,不需要Tomcat(具体是什么你可以去网上查查)。运行这段代码(根据代码的内容来看)的前提是你的电脑上有mysql,并且你在mysql中拥有名为scutcs的database(数据库),在这个databse中拥有名为tbmakerdata的表(table),并且在表中有Name,Type,Lat,Lng这些字段并且有一些值。之后在你的classpath中有java连接mysql的驱动包(mysql-connector-java-5.1.7-bin.jar 你可以去mysql的官网上下载,不一定是5.1.7),在上面的都齐全的之后,你可以运行这段代码,可以再控制台看到结果。如果你用的是eclipse这样的ide工具的话,操作上会简单一点。
追问
谢谢啊,是这样的,我用的eclipse,在另外一个项目中用这段代码是可以连数据库的。只是我现在把这个main方法写为另外一个类中的方法。再在其他类中调用该方法就连不上,为了保险我每个类都import java.sql.*。
我的classpath中也有
这是怎么回事呢?明明在另一个项目中可以正常连接的,但是一到另一个程序就不行了
追答
如果报错还是com.mysql.jdbc.Driver找不到的话,就是驱动包(mysql-connector-java-5.1.6-bin.jar)不在你想运行的程序的项目的classpath下,真想不到别的原因了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
QinQinMeCC
2012-05-29 · TA获得超过2017个赞
知道小有建树答主
回答量:808
采纳率:100%
帮助的人:564万
展开全部
是tomcat找不到MYSQL JAR包的问题。后来又把mysql-connector-java-5.1.7-bin.jar导入到tomcat的lib目录下面就ok了,嘿……

在java项目中,只需要引入mysql-connector-java-5.1.7-bin.jar就可以运行java项目。

在web项目中,当Class.forName("om.mysql.jdbc.Driver");时myeclipse是不会去查找字符串,不会去查找驱动的。所以只需要把mysql-connector-java-5.1.7-bin.jar拷贝到tomcat下lib目录就可以了。
追问
我没有用过tomcat啊?这个tomcat是个什么东西?还有怎么“把mysql-connector-java-5.1.7-bin.jar拷贝到tomcat下lib目录”?
追答
tomcat  是用来启动和管理web项目
那你String url = "jdbc:mysql://127.0.0.1:3306/scutcs";
配对没有?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
令新厹RJ
2012-05-29 · TA获得超过6万个赞
知道大有可为答主
回答量:3.1万
采纳率:8%
帮助的人:2385万
展开全部
百度jar包下载下来后,如果你是WEB工程就把jar包复制到webRoot/WEB-INF/lib下,如果你是java工程建一个文件夹lib把刚刚jar包放入,然后选中jar包点击右键选择Build Path 就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_Eud
2012-05-29 · 超过18用户采纳过TA的回答
知道答主
回答量:249
采纳率:0%
帮助的人:133万
展开全部
缺少驱动。去mysql目录里找jar包。把jar包导入到web项目的lib下就可以了。
追问
是去mysql的安装目录里找jar包吗?我找不到啊,能不能说的具体点?谢谢啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式