JavaWeb 连接 MySQL 数据库并显示数据库中的内容

本小节使用环境:

  • 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>mysqlgroupId>
            <artifactId>mysql-connector-javaartifactId>
            <version>8.0.32version>
        dependency>
    dependencies>

查看本地主机 MySQL 版本号只需在终端(cmd) 中输入以下指令即可

mysql -V

如图,我的版本号为 8.0,32,所以上面的版本号我填的是 8.0.32
在这里插入图片描述
完成上面的步骤以后,首先查看左边的外部依赖是否已经下载完毕了,如果没有就需要等待一下 IDEA 下载
JavaWeb 连接 MySQL 数据库并显示数据库中的内容_第1张图片
如果有的话就开始我们的代码了,这里以初始的 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("");
        out.println("

" + message + "

"
); out.println(""); } public void destroy() { } }

如果运行出错了,注意一定检查一下数据库是否正常连接,一定要在 IDEA 中测试一下是否连接成功,否则就会报错。

效果展示:
在这里插入图片描述

你可能感兴趣的:(后端,数据库,mysql,java)