java通过JDBC连接数据库,老是报错:ClassNotFoundException.该导入的jar包我也已经导入了。

代码如下:publicfinalclassDBclass{publicstaticStringuser="root";publicstaticStringpassword... 代码如下:

public final class DBclass {

public static String user = "root";
public static String password = "admin";
public static String url = "jdbc:mysql://localhost:3306/money_manage";
public static String driver = "com.mysql.jdbc.Driver";

//构造函数
private void DBconnection(){}

//获取数据库连接;
public static Connection getConnection(){
Connection conn = null;
try{
//加载MySql的驱动类
Class.forName("driver") ;
conn = (Connection) DriverManager.getConnection(url, user, password);
}catch(ClassNotFoundException e){
System.out.println("找不到驱动程序类 ,加载驱动失败!");
e.printStackTrace() ;
}catch(Exception e){
System.out.println("database connect failed!");
e.printStackTrace();
}

return conn;
}

//关闭数据库资源
public static void closeDB(ResultSet rs, Statement st,Connection conn){
try{
if(rs != null)
rs.close();
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(st != null)
st.close();
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(conn != null)
conn.close();
}catch(Exception e){
e.printStackTrace();
}
}
}

}
public static void main(String args[]){
DBclass.getConnection();

}
}
报错:
找不到驱动程序类 ,加载驱动失败!java.lang.ClassNotFoundException: driver
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at DBclass.getConnection(DBclass.java:25)
at DBclass.main(DBclass.java:64)

导入的jar包是:mysql-connector-java-5.1.6-bin.jar
是导入到该工程的lib目录下的。
因为在工程中出现这个报错,所以将它单独的执行了一下,也是同样的错误。在网上百度了很多,都没有把问题解决,求高手指点一下。
对应的jar包
展开
 我来答
不劳而获是王道
推荐于2017-11-25 · TA获得超过143个赞
知道小有建树答主
回答量:153
采纳率:0%
帮助的人:62万
展开全部
//加载MySql的驱动类
Class.forName("driver") ;————把driver变量的双引号去掉!driver是作为一个参数传入的!而不是“driver”
唯爱多啦梦cQb8a
2012-02-27 · TA获得超过639个赞
知道小有建树答主
回答量:746
采纳率:0%
帮助的人:527万
展开全部
不劳而获的答案是正确,这个变量的意思是Driver这个类的路径,你对比下jar包里面的路径就知道了,class,forName意思是java里面的映射机制,有兴趣可以了解下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-02-27
展开全部
你可以重装一下系统
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
菜菜索隆
2012-02-27 · TA获得超过1161个赞
知道小有建树答主
回答量:241
采纳率:0%
帮助的人:143万
展开全部
你看你的lib包是不是没有加载到classpath里?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
佛萨孤sD
2012-02-27 · TA获得超过578个赞
知道小有建树答主
回答量:450
采纳率:0%
帮助的人:194万
展开全部
把你导入的包粘出来看下呢
追问
我上传图片了。。但是我这边好像看不到。jar包是这个:mysql-connector-java-5.1.6-bin.jar
在WEB-INF下面的lib.
追答
我不是要这个包,而是你代码顶部导入的包。类,到入的类那种包
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式