Jsp连接mysql数据库
第一步
把jar包放在WEB-INF的lib目录下。
第二步创建数据库
代码:
CREATE DATABASE jspStudent
USE jspStudent
CREATE TABLE stuinfo(
xh CHAR(30) PRIMARY KEY,
NAME VARCHAR(30),
birthday CHAR(30),
email CHAR(20)
);
SELECT * FROM stuinfo
INSERT INTO stuinfo
VALUES('001','王慧','1997-06-08','wanghui@sina.com');
INSERT INTO stuinfo
VALUES('002','鹿晗','1997-01-01','luhan@qq.com');
INSERT INTO stuinfo
VALUES('003','关晓彤','1996-09-02','guanxiaotong@163.com');
INSERT INTO stuinfo
VALUES('004','杨洋','1996-12-24','yangyang@139.com');
INSERT INTO stuinfo
VALUES('005','沈腾','1996-07-18','shenteng@qq.com');
SELECT * FROM stuinfo WHERE xh LIKE '%1%'
第三步JSP连接mysql代码片
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@page import="java.sql.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<table bgcolor=lightgrey>
<tr><td>学号</td><td>姓名</td><td>性别</td><td>年龄</td></tr>
<%
Class.forName("com.mysql.cj.jdbc.Driver");
String url ="jdbc:mysql://localhost/jspstudent?serverTimezone=UTC";
Connection dbCon = DriverManager.getConnection(url,"root","123456");
Statement stmt = dbCon.createStatement();
ResultSet rs =stmt.executeQuery("select * from stuinfo");
while (rs.next()){
%>
<tr bgcolor=cyan>
<td><%=rs.getString(1) %></td>
<td><%=rs.getString(2) %></td>
<td><%=rs.getString(3) %></td>
<td><%=rs.getString(4) %></td>
</tr>
<%
}
rs.close();
stmt.close();
dbCon.close();
%>
</table>
</body>
</html>
运行结果
遇到的问题
jsp页面不能再WEB-INF下创建
版本要匹配,我的是mysql: 8.0.13
mysql-connector-java-8.0.13.jar
URL忘记加serverTimezone=UTC
新版的驱动类改成了com.mysql.cj.jdbc.Driver ,新版驱动连接url也有所改动 ,时区要设置好,UTC代表的是全球标准时间。不然会报错。