本小节使用环境:
- MySQL 8.0.32
- JavaWeb项目创建
- Java JDK 11.0.19 (低版本在连接过程中可能报错—连接命令不一样)
- tomcat 11.1.15(怎么安装与 Java 版本匹配的 Tomcat)
要在 JavaWeb 项目中使用 MySQL 数据库,我们首先需要安装需要在 JavaWeb 项目中的pom.xml
引入相关的依赖,这里需要注意的是,版本号填的是自己本机 MySQL 数据库的版本号
<dependencies>
...
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.32</version>
</dependency>
</dependencies>
查看本地主机 MySQL
版本号只需在终端(cmd) 中输入以下指令即可
mysql -V
如图,我的版本号为 8.0,32
,所以上面的版本号我填的是 8.0.32
完成上面的步骤以后,首先查看左边的外部依赖是否已经下载完毕了,如果没有就需要等待一下 IDEA 下载
如果有的话就开始我们的代码了,这里以初始的 HelloServlet.java
为例
package com.example.demo1;
import java.io.*;
import java.sql.*;
import jakarta.servlet.http.*;
import jakarta.servlet.annotation.*;
@WebServlet(name = "helloServlet", value = "/hello-servlet")
public class HelloServlet extends HttpServlet {
private String message;
public void init() {
message = "Hello World!";
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
// response.setContentType("text/html");
// 这一段主要是将数据库取出来的数据转成中文(如果确定不会有问题可直接用上面句进行替换)
response.setContentType("text/html; charset=UTF-8");
response.setHeader("ContentType","text/html; charset=UTF-8");
response.setCharacterEncoding("UTF-8");
request.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
// 数据库连接地址--studtwork 是我创建的一个表
String url = "jdbc:mysql://localhost:3306/studtwork?useSSL=false";
// Mysql 登录用户名
String user = "root";
// Mysql 登录密码
String password = "MySQL123456!";
// sql 查询语句
String sql = "Select * from user";
try {
// 如果 JDK 版本低于 11 并且运行这个可以试一下低版本驱动引入程序!!!
// Class.forName("com.mysql.cj.jdbc.Driver");
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
throw new RuntimeException(e);
}
try {
Connection conn = DriverManager.getConnection(url, user, password);
// 获取数据库操作对象
Statement statement = conn.createStatement();
// 执行 sql 语句
ResultSet res = statement.executeQuery(sql);
// 在移动到有数据时返回结果为 true,没有数据则为 false;
while (res.next()) {
// getString 属性名
String userName = res.getString("userName");
out.println(userName);
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
out.println("<html><body>");
out.println("<h1>" + message + "</h1>");
out.println("</body></html>");
}
public void destroy() {
}
}
如果运行出错了,注意一定检查一下数据库是否正常连接,一定要在 IDEA 中测试一下是否连接成功,否则就会报错。
效果展示: