作业四:增删查改

这篇博客主要展示了如何使用Java进行数据库操作,包括使用Statement和PreparedStatement进行用户信息的增加、删除、修改和查询。通过实例演示了每个操作的过程,并给出了操作前后的数据库截图。
摘要由CSDN通过智能技术生成

初始数据库截图

在这里插入图片描述

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>

所有用户
在这里插入图片描述
查找到的用户

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值