工具
- 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”
java代码中写入sql语句(查询和插入)
前端输入
数据库检查
原始
插入两条用户信息
代码所示
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);
}
}