的Class.forName(JDBC_DRIVER);当代码相同时,仅在我的2个程序中的1个中工作。为什么?

时间:2013-02-22 08:24:26

标签: java mysql jdbc

我有1个基本程序和1个应用程序,我的基本程序有效(DB_URL,USER,PASS,JDBC_DRIVER都正确且功能正常),我可以从我的MySQL数据库中获取信息。代码由以下内容组成:

try {
        // STEP 2: Register JDBC driver
        Class.forName(JDBC_DRIVER);

        // STEP 3: Open a connection
        conn = DriverManager.getConnection(DB_URL, USER, PASS);

        // STEP 4: Execute a query
        System.out.println("Creating statement...");
        stmt = conn.createStatement();
        String sql;
        sql = "SELECT distinct tags FROM items";
        ResultSet rs = stmt.executeQuery(sql);

        // STEP 5: Extract data from result set
        while (rs.next()) {

            // Retrieve by column name
            String itemRoles = rs.getString("tags");

            //Add it to the ArrayList.
            itemRolesList.add(itemRoles);

            // Display values
            System.out.print("TAGS: " + itemRoles + "\n");
        }

        // STEP 6: Clean-up environment
        rs.close();
        stmt.close();
        conn.close();

    } catch (SQLException se) {
        // Handle errors for JDBC
        se.printStackTrace();
    } catch (Exception e) {
        // Handle errors for Class.forName
        e.printStackTrace();
    } finally {
        // finally block used to close resources
        try {
            if (stmt != null)
                stmt.close();
        } catch (SQLException se2) {
        }// nothing we can do
        try {
            if (conn != null)
                conn.close();
        } catch (SQLException se) {
            se.printStackTrace();
        }// end finally try
    }// end try

但是当我尝试将相同的代码应用到我的应用程序时(在我的OnCreateView()中的片段内)我得到了这个:

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

就在这行代码中:

Class.forName(JDBC_DRIVER);

我添加了“mysql-connector-java-5.1.23-bin.jar”,它在我的程序和应用程序中都在我的参考库中。有谁知道为什么在我的应用程序中它给了我这个错误?

2 个答案:

答案 0 :(得分:2)

确保您的类路径中有驱动程序jar。

答案 1 :(得分:1)

请验证你的lib文件夹里面有jar文件不是空jar文件。在错误的配置过程中它会显示一个空的jar文件。 请转到项目属性 - > buildpath - >库 看看你添加的jar文件不是空白。