【问题标题】:mysql jdbc driver didn't worksmysql jdbc驱动程序不起作用
【发布时间】:2015-09-11 09:27:40
【问题描述】:

我正在研究数据库 我在 Eclipse Luna IDE 中创建了一个项目。我的数据库在mysql中。我下载了 connector/j 文件并将这个 jar 文件添加到我的项目中。这是jar文件全名“mysql-connector-java-5.1.35-bin.jar”。但是当我运行该项目时,它会显示此错误消息“找不到适合 jdbc:mysql//localhost/books 的驱动程序”。书籍是我的数据库名称。这是我的java代码。

import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;

public class DisplayAuthors {


    static final String DATABASE_URL = "jdbc:mysql//localhost/books";

    public static void main(String[] args)  {

        Connection connection = null;
        Statement statement = null;
        ResultSet resultSet = null;

        try {


            connection = DriverManager.getConnection( DATABASE_URL, "saadi", "saadi" );

            statement = connection.createStatement();

            resultSet = statement.executeQuery( "SELECT AuthorID, FirstName, LastName FROM Authors" );

            ResultSetMetaData metaData = resultSet.getMetaData();
            int numberOfColumns = metaData.getColumnCount();
            System.out.println( "Authors Table of Book Database:\n" );

            for ( int i = 1; i < numberOfColumns; i++ ) 
                System.out.printf( "%-8s\t", metaData.getColumnName( i ) );
            System.out.println();

            while ( resultSet.next() ) {
                for ( int i = 1; i <= numberOfColumns; i++ ) 
                    System.out.printf( "%-8s\t", resultSet.getObject( i ) );
                System.out.println();
            }
        }

        catch ( SQLException exception ) {
            exception.printStackTrace();
        }

        finally {
            try {
                resultSet.close();
                statement.close();
                connection.close();
            }

            catch ( Exception exception ) {
                exception.printStackTrace();
            }
        }
    }

}

【问题讨论】:

  • jar 文件在你的类路径中吗?
  • 正确的url是jdbc:mysql://localhost/books(注意mysql后面的冒号!)

标签: java jdbc


【解决方案1】:

你有一个错误

DATABASE_URL = "jdbc:mysql//localhost/books"

:缺少。正确的是

DATABASE_URL = "jdbc:mysql://localhost/books"

在连接管理器之前先加载类也是一种常见的做法。

Class.forName("com.mysql.jdbc.Driver");

【讨论】:

    猜你喜欢
    • 2011-09-10
    • 2016-03-27
    • 2016-04-02
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 2012-07-20
    • 1970-01-01
    相关资源
    最近更新 更多