java连接mysql数据库 装载不了驱动

cheerful9001 2013-07-25 08:44:53
有两个java程序,A程序中定义了一个连接数据库的方法,并能成功加载驱动连接到数据库。现在要在B程序中调用A程序的连接数据库的方法,但是会出现不能加载驱动的问题。是在一个web project下,jar包已经放在lib目录下
...全文
428 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
oh_Maxy 版主 2013-07-25
  • 打赏
  • 举报
回复
引用 2 楼 cheerful9001 的回复:
[quote=引用 1 楼 oh_Maxy 的回复:] 如何确定装在不了的,错误日志呢? 另外,你的驱动jar包名是什么,lib目录路径是什么,有没有刷新工程。
 // connect to MySQL  
    void connSQL() {  
    	  String url = "jdbc:mysql://localhost:3306/wenxujie?characterEncoding=UTF-8";  
          String username = "root";  
          String password = "root"; // 加载驱动程序以连接数据库   
          try {   
              Class.forName("org.gjt.mm.mysql.Driver" );   
              conn = DriverManager.getConnection(url,username,password);   
              }  
        //捕获加载驱动程序异常  
         catch ( ClassNotFoundException cnfex ) {  
             System.err.println(  
             "装载 JDBC/ODBC 驱动程序失败。" );  
             cnfex.printStackTrace();   
         }   
         //捕获连接数据库异常  
         catch ( SQLException sqlex ) {  
             System.err.println( "无法连接数据库" );  
             sqlex.printStackTrace();   
         }  
装载 JDBC/ODBC 驱动程序失败。 java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at com.usb.wenxujie.SqlOperate.connSQL(SqlOperate.java:20) at com.usb.wenxujie.SqlJsp.process(SqlJsp.java:35) at com.usb.wenxujie.SqlJsp.doPost(SqlJsp.java:23) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619)[/quote] 或者试试吧A类能用的那块代码拷贝到B类中,再执行B,看看能否执行。
oh_Maxy 版主 2013-07-25
  • 打赏
  • 举报
回复
引用 3 楼 cheerful9001 的回复:
[quote=引用 1 楼 oh_Maxy 的回复:] 如何确定装在不了的,错误日志呢? 另外,你的驱动jar包名是什么,lib目录路径是什么,有没有刷新工程。
我在B中调用连接数据库的这个函数 SqlOperate h = new SqlOperate(); h.connSQL(); 驱动确实放到workspace\usb\WebRoot\WEB-INF\lib 这个目录下了 而且单独执行A程序是没有问题的[/quote] A类B类贴出来看看呗?把关键步骤,还有import、package那些行贴出来。
cheerful9001 2013-07-25
  • 打赏
  • 举报
回复
引用 4 楼 longtian1213 的回复:
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver找不到这个类呀!你打开驱动的jar包,看看里面有没有这个类,或者试试com.mysql.jdbc.Driver



这两个都是有的
lkq_david 2013-07-25
  • 打赏
  • 举报
回复
重启下试试呢,正常情况下应该可以的。
S117 2013-07-25
  • 打赏
  • 举报
回复
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver找不到这个类呀!你打开驱动的jar包,看看里面有没有这个类,或者试试com.mysql.jdbc.Driver
cheerful9001 2013-07-25
  • 打赏
  • 举报
回复
引用 1 楼 oh_Maxy 的回复:
如何确定装在不了的,错误日志呢? 另外,你的驱动jar包名是什么,lib目录路径是什么,有没有刷新工程。
我在B中调用连接数据库的这个函数 SqlOperate h = new SqlOperate(); h.connSQL(); 驱动确实放到workspace\usb\WebRoot\WEB-INF\lib 这个目录下了 而且单独执行A程序是没有问题的
cheerful9001 2013-07-25
  • 打赏
  • 举报
回复
引用 1 楼 oh_Maxy 的回复:
如何确定装在不了的,错误日志呢? 另外,你的驱动jar包名是什么,lib目录路径是什么,有没有刷新工程。
 // connect to MySQL  
    void connSQL() {  
    	  String url = "jdbc:mysql://localhost:3306/wenxujie?characterEncoding=UTF-8";  
          String username = "root";  
          String password = "root"; // 加载驱动程序以连接数据库   
          try {   
              Class.forName("org.gjt.mm.mysql.Driver" );   
              conn = DriverManager.getConnection(url,username,password);   
              }  
        //捕获加载驱动程序异常  
         catch ( ClassNotFoundException cnfex ) {  
             System.err.println(  
             "装载 JDBC/ODBC 驱动程序失败。" );  
             cnfex.printStackTrace();   
         }   
         //捕获连接数据库异常  
         catch ( SQLException sqlex ) {  
             System.err.println( "无法连接数据库" );  
             sqlex.printStackTrace();   
         }  
装载 JDBC/ODBC 驱动程序失败。 java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at com.usb.wenxujie.SqlOperate.connSQL(SqlOperate.java:20) at com.usb.wenxujie.SqlJsp.process(SqlJsp.java:35) at com.usb.wenxujie.SqlJsp.doPost(SqlJsp.java:23) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:619)
oh_Maxy 版主 2013-07-25
  • 打赏
  • 举报
回复
如何确定装在不了的,错误日志呢? 另外,你的驱动jar包名是什么,lib目录路径是什么,有没有刷新工程。
  • 打赏
  • 举报
回复
你再看看你加载驱动路径到你驱动包找找看有没有,很可能是驱动包和驱动路径不符
cheerful9001 2013-07-25
  • 打赏
  • 举报
回复
引用 10 楼 Yuan_Rong_Hua 的回复:
你有没把lib包加入到classpath中
我通过myEclipse中设置build path了
  • 打赏
  • 举报
回复
你有没把lib包加入到classpath中
u011101589 2013-07-25
  • 打赏
  • 举报
回复
引用 4 楼 longtian1213 的回复:
java.lang.ClassNotFoundException: org.gjt.mm.mysql.Driver找不到这个类呀!你打开驱动的jar包,看看里面有没有这个类,或者试试com.mysql.jdbc.Driver
+1

51,411

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧