idea中javaweb的mysql8.0.15配置问题

mysql8.0.x以后的版本在连接数据库的时候有些不同。

首先:

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

其次:

DriverManager.getConnection("jdbc:mysql://localhost:3306/java?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC", "root", "passwd");

另外值得注意的是,在idea中创建的javaweb项目缺少一些文件夹,比如很重要的一个lib文件夹(不知道是不是只有我没有),然后将jar驱动包放入到lib中就可以正常使用了。

最后放上一段完整的代码,以便参考。

<%@ page language="java" contentType="text/html; charset=utf-8"
         pageEncoding="utf-8" import="java.sql.*"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>jdbc</title>
</head>
<body>
<%
    Connection conn = null;
    PreparedStatement ps = null;
    ResultSet rs = null;
    int age = -1;
    String name = null;
    int id = -1;
    try{
        Class.forName("com.mysql.cj.jdbc.Driver");
    }catch (Exception e){
        out.print("连接失败");
    }
    try{
        conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/java?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC", "root", "1");
        out.print("连接成功");
        ps = conn.prepareStatement("select * from name ");
        rs = ps.executeQuery();
        while (rs.next()){
            age = rs.getInt("age");
            name = rs.getString("name");
            out.print("<br>" + "age:" + age + "  "+ "name:" + name);
        }
    }catch (SQLException e){
        out.println(e.getMessage());
        out.println(e.getSQLState());
        out.println(e.getErrorCode());
    }
%>
</body>
</html>

 

posted @ 2019-05-17 09:51  雨溅残冰  阅读(1070)  评论(0编辑  收藏  举报