Web项目IDEA连接Mysql并使用查询与插入语句

Web项目IDEA连接Mysql并使用查询与插入语句

    • 工具
    • Web项目连接
    • java代码中写入sql语句(查询和插入)
      • 前端输入
      • 数据库检查
        • 原始
        • 插入两条用户信息
      • 代码所示

工具

  • IDEA2022
    (破解:https://www.exception.site/article/29)
  • Navicat15
    (破解:https://www.exception.site/essay/how-to-free-use-navicat)
    注意此处是在点开Navicat之前就要断网,不要再点开软件按“注册”前才断!!
  • Mysql
    (连接参考:https://blog.csdn.net/qq_41567818/article/details/124306476)

Web项目连接

和链接中的博主所说大多数一致,不过在web项目中,我们lib文件以及里面的的mysql-connector-java.jar是放在WEB-INF中,然后加载到库,如图所示,并且需要加载驱动(按照Mysql的版本),不然会报如下错误,说“ClassNotFoundException”
Web项目IDEA连接Mysql并使用查询与插入语句_第1张图片
在这里插入图片描述

java代码中写入sql语句(查询和插入)

前端输入

Web项目IDEA连接Mysql并使用查询与插入语句_第2张图片

数据库检查

原始

Web项目IDEA连接Mysql并使用查询与插入语句_第3张图片

插入两条用户信息

Web项目IDEA连接Mysql并使用查询与插入语句_第4张图片

代码所示

package com.example.user_identification;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.sql.*;

@WebServlet(name = "reg", value = "/reg")
public class reg extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        request.setCharacterEncoding("UTF-8");


        String username = request.getParameter("username");  // 获取表单中的username数据
        String password = request.getParameter("password");  // 获取表单中的password数据
        Boolean regis = false;

        //         与数据库建立连接
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");  // 加载驱动
        } catch (ClassNotFoundException e) {
            System.out.println("加载驱动失败");
            System.out.println(e);
        }
        String url = "jdbc:mysql://localhost:3306/" + "logindemo";
        String user = "root";
        String pwd = "你的数据库密码";
        Connection con = null;
        try {
            con = DriverManager.getConnection(url, user, pwd);
            Statement state = con.createStatement();
            // sql语句的编写规则:java中的字符串只能双引号,如果字符串中需要拼接变量,该变量用单引号括起来
            String sql = " SELECT * FROM user WHERE username = '" + username + "'";
            ResultSet rs = state.executeQuery(sql);  // 执行查询语句
            if (!rs.next()) {                           // 如果WHERE中的条件满足,返回true,否则返回false
                regis = true;
                String sql2 = "INSERT INTO user values(null,'" + username + "'," + "'" + password + "'" +");";  // 第一列属性值为null,因为我设置第一列属性为自增
                int num = state.executeUpdate(sql2);  // 执行插入语句,返回的是修改的行数
            }
            request.getSession().setAttribute("regis", regis);
            response.sendRedirect("index.jsp");
            con.close();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request, response);
    }
}

你可能感兴趣的:(JavaEE技术问题,mysql,intellij-idea,sql,java)