由于更新的 MySQL8.0,所以本网站提供的 jar 包:mysql-connector-java-5.1.39-bin.jar 就不能用了,连接时会报:
com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server
这个异常。
需要重新下载,下载地址 https://dev.mysql.com/downloads/file/?id=484819,暂时我下载到的是 mysql-connector-java-8.0.15 替换这个 jar 包后,又出现异常 java.sql.SQLException: The server time zone value,只需在数据库地址后边添加 serverTimezone=UTC 即可,例如:
文人墨客
由于更新的 MySQL8.0,所以本网站提供的 jar 包:mysql-connector-java-5.1.39-bin.jar 就不能用了,连接时会报:
这个异常。
需要重新下载,下载地址 https://dev.mysql.com/downloads/file/?id=484819,暂时我下载到的是 mysql-connector-java-8.0.15 替换这个 jar 包后,又出现异常 java.sql.SQLException: The server time zone value,只需在数据库地址后边添加 serverTimezone=UTC 即可,例如:
还有注册 jdbc 的驱动也换了。
注册 JDBC 驱动器:
Class.forName("com.mysql.cj.jdbc.Driver");文人墨客
进行数据库插入操作的时候使用 PreparedStatement 更好,好处如下:
实例:
//编写预处理 SQL 语句 String sql= "INSERT INTO websites1 VALUES(?,?,?,?,?)"; //实例化 PreparedStatement ps = conn.prepareStatement(sql); //传入参数,这里的参数来自于一个带有表单的jsp文件,很容易实现 ps.setString(1, request.getParameter("id")); ps.setString(2, request.getParameter("name")); ps.setString(3, request.getParameter("url")); ps.setString(4, request.getParameter("alexa")); ps.setString(5, request.getParameter("country")); //执行数据库更新操作,不需要SQL语句 ps.executeUpdate(); sql = "SELECT id, name, url FROM websites1"; ps = conn.prepareStatement(sql); //获取查询结果 ResultSet rs = ps.executeQuery();