作业四:增删查改

    科技2025-10-12  12

    初始数据库截图

    UserBean.java

    package com.media.bean; public class UserBean { private String username; private String password; private int gender; private int age; private int status; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public int getGender() { return gender; } public void setGender(int gender) { this.gender = gender; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public int getStatus() { return status; } public void setStatus(int status) { this.status = status; } }

    注册页面 index.jsp

    <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>$Title$</title> </head> <body> <form method="post" action="register.jsp"> 用户名:<input type="text" name="username"><br> 密码: <input type="text" name="password"><br> 性别: <input type="text" name="gender"><br> 年龄: <input type="text" name="age"><br> <button type="submit">注册</button> </form> </body> </html>

    使用Statement在数据库增加用户

    <%@ page import="java.sql.DriverManager" %> <%@ page import="java.sql.Connection" %> <%@ page import="java.sql.Statement" %> <%@ page import="com.media.bean.UserBean" %><%-- Created by IntelliJ IDEA. User: 和 Date: 2020/10/7 Time: 8:38 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <jsp:useBean id="user" class="com.media.bean.UserBean"></jsp:useBean> <jsp:setProperty name="user" property="*"></jsp:setProperty> <% //user对象实例化 //UserBean user = new UserBean(); //给对象赋值 //user.setUsername(request.getParameter("username")); //user.setPassword(request.getParameter("password")); //数据库操作 //1 加载驱动程序 Class.forName("com.mysql.jdbc.Driver"); //如果执行到此位置报错 标识驱动的jar包没有加载成功 //2 建立数据库连接 10.3.22.1 String url = "jdbc:mysql://127.0.0.1:3306/book?user=root&password=root";//book 为数据库名 //String url = "jdbc:mysql://127.0.0.1:3306 Connection connection = DriverManager.getConnection(url);//获得连接对象 //alt + 回车 自动导入类 如果报此行有问题说明 数据库的连接地址或用户名和密码有问题 //3 创建Statement对象 执行sql语句 alt+enter 自动引入缺失的类 Statement stmt = connection.createStatement(); // sql 插入语句值是字符串 必须使用单引号 String sql = "insert into user (username,password,gender,age) values('"+user.getUsername()+"','"+user.getPassword()+"',1,23)"; //String sql = "update user set status = 3 where id = 11"; //String sql = "delete from user where id = 11"; 执行sql语句时id 保证数据库中存在该数据 //使用Statement 对象执行sql语句 增删改的数据库操作使用executeUpdate int count = stmt.executeUpdate(sql); //如果报此行有错误 数码上一行的sql语句是有问题的 请检查数据库 if(count == 0 ){ out.print("注册失败"); //如果能执行到此位置 表示数据库操作是成功 数据库的数据是没有发生变化 否则的肯定有异常 }else{ out.print("注册成功"); } %>

    使用PreparedStatement语句增加用户

    <%@ page import="javax.swing.plaf.nimbus.State" %> <%@ page import="com.mysql.jdbc.PreparedStatement" %> <%@ page import="java.sql.*" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <jsp:useBean id="user" class="com.media.bean.UserBean"></jsp:useBean> <jsp:setProperty name="user" property="*"></jsp:setProperty> <% lass.forName("com.mysql.jdbc.Driver");//报错,说明驱动包没有完成 //建立数据库连接 18.3.22.1 String url ="jdbc:mysql://127.0.0.1:3306/book"; Connection connection = DriverManager.getConnection(url,"book","book"); String sql = "insert into user(username,password,gender,age) values (?,?,?,?)"; PreparedStatement temt = (PreparedStatement) connection.prepareStatement(sql); temt.setString(1,request.getParameter("username")); temt.setString(2,request.getParameter("password")); temt.setString(3,request.getParameter("gender")); temt.setInt(4, Integer.parseInt(request.getParameter("age"))); ResultSet rs = temt.executeQuery(); %>

    增加用户admin3,如图所示

    使用Statement执行,实现删除操作

    <%@ page import="java.sql.Connection" %> <%@ page import="java.sql.DriverManager" %> <%@ page import="java.sql.Statement" %> <jsp:setProperty name="user" property="*"></jsp:setProperty> <% lass.forName("com.mysql.jdbc.Driver"); String url ="jdbc:mysql://127.0.0.1:3306/book?user=root&password=root"; Connection connection = DriverManager.getConnection(url); Statement stmt = connection.createStatement(); String sql="delete from user where id = 4 "; int count = stmt.executeUpdate(sql); if(count == 0){ out.print("删除失败"); }else{ out.print("删除成功"); } %>

    使用PreparedStatement语句,实现删除操作

    <%@ page import="java.sql.*" %><%-- Created by IntelliJ IDEA. User: 吧 Date: 2020/10/6 Time: 14:12 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>主页</title> </head> <body> <% //加载数据库驱动 Class.forName("com.mysql.jdbc.Driver"); //建立数据库连接 String url = "jdbc:mysql://localhost:3306/book"; Connection connection = DriverManager.getConnection(url,"root","root"); //预定义对象 String sql = "delete from user where id = ? ";//使用问号代替参数 PreparedStatement pstm = connection.prepareStatement(sql); pstm.setInt(1);

    删除admin1

    使用Statement语句,实现修改用户

    <%@ page import="java.sql.Connection" %> <%@ page import="java.sql.Driver" %> <%@ page import="java.sql.DriverManager" %> <%@ page import="javax.swing.plaf.nimbus.State" %> <%@ page import="java.sql.Statement" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <jsp:useBean id="user" class="com.media.bean.UserBean"></jsp:useBean> <jsp:setProperty name="user" property="*"></jsp:setProperty> <% lass.forName("com.mysql.jdbc.Driver"); String url ="jdbc:mysql://127.0.0.1:3306/book?user=root&password=root"; Connection connection = DriverManager.getConnection(url); Statement stmt = connection.createStatement(); String sql = "update user set status = 3 where id= 2"; int count = stmt.executeUpdate(sql); if(count == 0){ out.print("修改失败"); }else{ out.print("修改成功"); } %>

    使用PreparedStatement语句,实现修改操作

    <%@ page import="javax.swing.plaf.nimbus.State" %> <%@ page import="java.sql.*" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <jsp:useBean id="user" class="com.media.bean.UserBean"></jsp:useBean> <jsp:setProperty name="user" property="*"></jsp:setProperty> <% Class.forName("com.mysql.jdbc.Driver");//报错,说明驱动包没有完成 //建立数据库连接 18.3.22.1 String url ="jdbc:mysql://127.0.0.1:3306/book"; Connection connection = DriverManager.getConnection(url,"book","book"); String sql="update user set status=? where status=?"; PreparedStatement pstm=connection.prepareStatement(sql); pstm.setInt(2,3); %>

    未修改数据库 代码运行时 修改后的数据库 使用Statement查询用户

    <%@ page import="javax.swing.plaf.nimbus.State" %> <%@ page import="com.mysql.jdbc.PreparedStatement" %> <%@ page import="java.sql.*" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <jsp:useBean id="user" class="com.media.bean.UserBean"></jsp:useBean> <jsp:setProperty name="user" property="*"></jsp:setProperty> <% Statement stmt = connection.createStatement(); String sql = "select * from user where username = '"+request.getParameter("username")+"'"; ResultSet rs = stmt.executeQuery(sql); while (rs.next()){ out.print(rs.getString("username")+"-"+rs.getString(1)+"<br>"); } %>

    使用PreparedStatement查找用户

    <%@ page import="java.sql.Connection" %> <%@ page import="java.sql.DriverManager" %> <%@ page import="java.sql.PreparedStatement" %> <%@ page import="java.sql.ResultSet" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>主页</title> </head> <body> <% Class.forName("com.mysql.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/book"; Connection connection = DriverManager.getConnection(url,"root","root"); String sql = "select * from user where username = ? and password = ? ";//使用问号代替参数 PreparedStatement temt = connection.prepareStatement(sql); temt.setString(1,request.getParameter("username")); temt.setString(2,request.getParameter("password")); ResultSet rs = temt.executeQuery(); while (rs.next()) { out.print(rs.getString("username")+"-"+rs.getString(2)+"<br>"); } %> </body> </html>

    所有用户 查找到的用户

    Processed: 0.016, SQL: 8