0


我有以下代码连接到 mysql 数据库:

public static void insertIntoDatabase(String code,String name,String temp,String hum,String del) {
    Connection con = null;
    ResultSet rs = null;

    String url = "jdbc:mysql://localhost:3306/test";
    String user = "root";
    String password = "";

    try {
        Class.forName("com.mysql.jdbc.Driver");
        con = DriverManager.getConnection(url, user, password);
        rs = con.prepareStatement("CREATE TABLE IF NOT EXISTS AiportDetails(code VARCHAR(50) PRIMARY KEY, " +
                "name VARCHAR(50), temp VARCHAR(50), hum VARCHAR(50), del VARCHAR(50)) ENGINE=InnoDB;").executeQuery();
        rs = con.prepareStatement("INSERT INTO AirportDetails(code,name,temp,hum,del) VALUES("+code+","+
                name+","+temp+","+hum+","+del+");").executeQuery();
    } catch (SQLException ex) {
        ex.printStackTrace();
    } finally {
        try {
            if (rs != null) {
                rs.close();
            }
            if (con != null) {
                con.close();
            }

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

我收到以下错误:

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


注意我在网上找到的一些常见更正是:

1. The driver is not in the /WEB-INF/lib folder.
2. The url is wrong.

我不认为这是我的代码的情况。
谢谢你。

4

1 回答 1

3

如果您在第一次连接之前没有加载驱动程序,就会发生这种情况。

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

可以肯定的是,司机必须进入/WEB-INF/lib,而不是进入/WEB-INF。顺便说一句,您已经找到了一些 SQL 注入漏洞。看PreparedStatementfinally也可以改进,就像你现在拥有的那样,抛出异常con时永远不会关闭。rs.close()

于 2012-05-16T06:05:04.480 回答