我有以下代码连接到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.
我不认为我的代码就是这种情况。 谢谢。
如果您在建立第一个连接之前没有加载驱动程序,则可能发生这种情况。
Class.forName("com.mysql.jdbc.Driver");
可以肯定的是,驾驶员必须进入/WEB-INF/lib,而不是进入/WEB- INF。顺便说一下,那里有一些SQL注入漏洞。看看PreparedStatement。该finally还可以提高,因为你现在拥有它时,con当永远不会被关闭rs.close()抛出异常。
/WEB-INF/lib
/WEB- INF
PreparedStatement
finally
con
rs.close()