求指教java 数据库连接的问题

mr桀骜不驯 发布于 2012/07/09 19:47
阅读 1K+
收藏 0

在netbeans里面一直链接不了数据库,一直出现无法使用驱动的问题(驱动已经放到该放的地方),求指教

  public Connection getConnection() throws IOException, SQLException {
        try {
             Class.forName("com.mysql.jdbc.Driver");
          System.out.println("数据库驱动加载成功");
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        }
        try {
      con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql");  //已声明为 Connection con;
     
            System.out.println("数据库链接成功");
        } catch (SQLException ex) {
            ex.printStackTrace();
        }
        return con;

运行出现这样的异常:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

at java.net.URLClassLoader$1.run(URLClassLoader.java:202)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:190)

at java.lang.ClassLoader.loadClass(ClassLoader.java:306)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

at java.lang.ClassLoader.loadClass(ClassLoader.java:247)

at java.lang.Class.forName0(Native Method)

at java.lang.Class.forName(Class.java:169)

at Conn.getConnection(Conn.java:24)

at Conn.main(Conn.java:82)

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/mysql

at java.sql.DriverManager.getConnection(DriverManager.java:602)

at java.sql.DriverManager.getConnection(DriverManager.java:207)

at Conn.getConnection(Conn.java:30)

at Conn.main(Conn.java:82)

加载中
1
一号男嘉宾
一号男嘉宾
不需要的,你在你项目的【库】里面添加mysql的jdbc驱动包就可以了。
0
如风随影
如风随影
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 这句话很明显啊
mr桀骜不驯
mr桀骜不驯
那我应该怎么做啊
0
逝水fox
逝水fox

你在你的Java编辑环境下直接 import com.mysql.jdbc.Driver;

看看是不是会有自动提示并且不报错?

mr桀骜不驯
mr桀骜不驯
这个import语句它直接就报错啦,似乎不存在这个包
0
情天大圣
情天大圣

你检查下netbeans安装目录下

%NetBeans_HOME%/ide/modules/ext

有没有类似

mysql-connector-java-*.*.*-bin.jar

这样的文件?

mr桀骜不驯
mr桀骜不驯
回复 @情天大圣 : 数据库加载成功,然后就出现这些异常,不太懂
mr桀骜不驯
mr桀骜不驯
@情天大圣 数据库驱动加载成功 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:409) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1118) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:343) at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2308) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2122) at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:774) at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:49) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:409) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:375) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:289) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) at Conn.getConnection(Conn.java:38) at Conn.main(Conn.java:90) Caused by: java.net.ConnectException: Connection refused: connect at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:351) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:213) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:200) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366) at java.net.Socket.connect(Socket.java:529) at java.net.Socket.connect(Socket.java:478) at java.net.Socket.<init>(Socket.java:375) at java.net.Socket.<init>(Socket.java:218) at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:292) ... 15 more
情天大圣
情天大圣
回复 @mr桀骜不驯 : 那你本地PC装了mysql没?
mr桀骜不驯
mr桀骜不驯
这个我看到有啊
0
逝水fox
逝水fox
  应该如果在库下面的话,工程底下类似这样,你可以展开看下有没有这个包
mr桀骜不驯
mr桀骜不驯
似乎没有
0
OrionBox
OrionBox
项目里需要导入一个mysql文件,叫数据库驱动包。以后你会发现,很多程序都要导入包,可能是驱动,可能是框架
0
墨洙
已经提示Driver了,那么就是少个包
0
Monkey
Monkey
你不导入,拿来给你连啊
0
Cavalier
Cavalier

很明显是缺少jar包,但是个人感觉处于代码规范性考虑,你的try  catch  写的有点不规范

Cavalier
Cavalier
ClassNotFoundException这个错误可以是两方面的错误:1 程序运行时没有加载该类 解决办法: 重启应用或者程序 2 缺少该类 解决办法:引入该类或者其对应的jar
mr桀骜不驯
mr桀骜不驯
求赐教,我是照着书本敲的
0
王振威
王振威
你的驱动不在classpath里吧
mr桀骜不驯
mr桀骜不驯
应该是的,但是应该要怎样加到classpath里面的,我之前操作classpath都失败的
返回顶部
顶部