我使用的IDEA版本:2019.2
MySQL版本:8.0.17
首先需要新建一个javaweb程序,过程我已经写过博文,这里不再赘述。
接下来需要新建bin文件夹,并把jar包:mysql-connector-java-8.0.17放入这个文件夹,还要把它导入工程,这个过程我也写过博文,亦不再叙述。
下面是重头戏之一,代码。我把代码写在index.jsp中。
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<%@ page import="java.sql.*"%>
<html>
<head>
<title>数据库测试</title>
</head>
<body>
<%
try
{
Class.forName("com.mysql.cj.jdbc.Driver"); //加载数据库驱动
String url = "jdbc:mysql://localhost:3306/aaa?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC";//我的数据库名字是aaa
String username = "root"; //数据库用户名
String password = "password"; //数据库用户密码
Connection conn = DriverManager.getConnection(url,username,password);
if(conn != null)
{
out.print("数据库连接成功!");
out.println("<br/>");
out.println("-------------------------");
out.println("<br/>");
String sql = "select * from player"; //查询语句,我的表名叫player
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql);
out.println("执行结果如下所示:");
out.println("<br />");
out.println("-------------------------------");
out.println("<br />");
out.println("姓名" + "\t" + "年龄" + "\t" + "场上位置" + "\t");
out.println("<br />");
while(rs.next())
{
out.println(rs.getString("姓名")+"   "+rs.getInt("年龄")+" "+rs.getString("场上位置")); //将数据库表格查询结果输出
out.print("<br />");
}
}
else
{
out.print("连接失败!");
}
}
catch(Exception e)
{
out.print("数据库连接异常!");
}
%>
</body>
</html>
本以为这就可以运行了,但是运行之后浏览器显示“数据库连接异常!”…查询并尝试了很多方法,都无济于事。后来偶然发现原来是没将mysql-connector-java-8.0.17这个包导入WEB-INF下面的lib文件夹中。图片右下角说的就是这个错误。点击右下角的Fix就可以进行导入。
所以一定要记得将mysql-connector-java-8.0.17这个包导入进去,导入效果如下图所示:
导入之后再运行,浏览器正确显示数据库表中的数据
mysql数据库中数据:
浏览器正确显示数据: