这个咋搞啊.Java 网页端实现这个功能

img


完成MySQL数据库的删除,增加和修改,确实不会,求问111111111

可以借鉴下

​
​
package com.example.helloworld.Utils;
 
import java.sql.*;
 
public class JDBCUtils {
    public static Connection getConn(){
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
        }
        Connection conn = null;
        //mysql用户名
        String userName = "root";
        //mysql密码
        String password = "password";
        //数据库URL
        String url = "jdbc:mysql://localhost:3306/<数据库名>?useSSL=false";
 
        try {
            conn = DriverManager.getConnection(url, userName, password);
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return conn;
    }
 
 
//查询
    public static String GetData(String table,String column,String name,String col){
        Connection conn = getConn();
        String a = null;
 
        Statement stmt;
        try {
            stmt = conn.createStatement();
            String sql;
            sql = "SELECT * FROM "+table + " WHERE " + column + "='" + name+"'";
            ResultSet rs = stmt.executeQuery(sql);
            while (rs.next()) {
                a=rs.getString(col);
            }
            rs.close();
            stmt.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return a;
    }
 
 
    public static String pGetData(String table, String column, String name, String col) {
        Connection conn = getConn();
        String a = null;
        PreparedStatement ps = null;
        try {
            //创建prepareStatement对象
            String sql = "SELECT * FROM "+table+" WHERE "+column+" = ?";
            ps = conn.prepareStatement(sql);
            ps.setString(1, name);
            ps.execute();//执行
            System.out.println(ps.execute());//执行表输出返回的结果,结果为false,因为没有返回的结果集
            //处理结果集
            ResultSet rs=ps.executeQuery();
            while(rs.next()){
                a=rs.getString(col);
            }
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //关闭资源
            try {
                if (ps != null) ps.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if (conn != null) conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
        return a;
    }
 
 
//更新
    public static void UpdateData(String table, String column, String name, String col , String newdata) {
        Connection conn = getConn();
        Statement stmt;
        try {
            stmt = conn.createStatement();
            String sql;
            sql = "UPDATE "+ table + " SET " + col + " = '"+newdata + "' WHERE " + column + " = '"+name+"'";
            stmt.executeUpdate(sql);
            stmt.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
 
    public static void pUpdateData(String table, String column, String name, String col , String newdata) {
        Connection conn = getConn();
        PreparedStatement ps = null;
        try {
            //创建prepareStatement对象
            String sql = "UPDATE "+table+" SET "+col+" = ? WHERE "+column+" = ?";
            ps = conn.prepareStatement(sql);
            //执行sql语句
            //ps.setString(1, table);
            //ps.setString(2, col);
            ps.setString(1, newdata);
            //ps.setString(4, column);
            ps.setString(2, name);
            //java.util.Date utilDate = new java.util.Date();//进行类型转换,由util类型的date转化为sql类型的
            ps.execute();//执行
            System.out.println(ps.execute());//执行表输出返回的结果,结果为false,因为没有返回的结果集
            //处理结果集
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //关闭资源
            try {
                if (ps != null) ps.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if (conn != null) conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
 
//删除
    public static void DeleteData(String table,String col,String name){
        Connection conn = getConn();
        Statement stmt;
        try {
            stmt = conn.createStatement();
            String sql;
            sql = "DELETE FROM "+table + " WHERE " + col + "='" + name+"'";
            stmt.executeUpdate(sql);
            stmt.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
 
 
    public static void pDeleteData(String table,String col,String name){
        Connection conn = getConn();
        PreparedStatement ps = null;
        try {
            //创建prepareStatement对象
            String sql = "DELETE FROM "+table + " WHERE " + col + "= ?";
            ps = conn.prepareStatement(sql);
            //执行sql语句
            ps.setString(1, name);
            //java.util.Date utilDate = new java.util.Date();//进行类型转换,由util类型的date转化为sql类型的
            ps.execute();//执行
            System.out.println(ps.execute());//执行表输出返回的结果,结果为false,因为没有返回的结果集
            //处理结果集
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //关闭资源
            try {
                if (ps != null) ps.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if (conn != null) conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
 
//添加
    public static void AddDatastu(String name1,String password1,String qqaccount1){
        Connection conn = getConn();
        Statement stmt;
        try {
            stmt = conn.createStatement();
            String sql;
            sql = "insert into stu(stuname,password,qq) values ('"+name1+"','"+password1+"','"+qqaccount1+"');";
            stmt.executeUpdate(sql);
            stmt.close();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }
 
    public static void pAddDatastu(String name1,String password1,String qqaccount1){
        Connection conn = getConn();
        PreparedStatement ps = null;
        try {
            //创建prepareStatement对象
            String sql = "insert into stu(stuname,password,qq) values (?,?,?)";
            ps = conn.prepareStatement(sql);
            //执行sql语句
            ps.setString(1, name1);
            ps.setString(2,password1);
            ps.setString(3,qqaccount1);
            //java.util.Date utilDate = new java.util.Date();//进行类型转换,由util类型的date转化为sql类型的
            //ps.execute();
            // 执行
            System.out.println(ps.execute());//执行表输出返回的结果,结果为false,因为没有返回的结果集
            //处理结果集
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //关闭资源
            try {
                if (ps != null) ps.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
            try {
                if (conn != null) conn.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }
        }
    }
}
 
​
 
​

提供些测试代码给我看看

内容来源与ChatGpt4及newbing和百度:


你好,针对MySQL数据库的删除、增加和修改操作,可以使用Java语言结合JDBC来实现。以下是一个示例代码,供你参考:

删除操作:

String sql = "DELETE FROM table_name WHERE id = ?";
int id = 1; // 删除id为1的记录
try (Connection conn = DriverManager.getConnection(url, user, password);
     PreparedStatement pstmt = conn.prepareStatement(sql)) {
    pstmt.setInt(1, id);
    int rows = pstmt.executeUpdate();
    System.out.println(rows + " rows deleted.");
} catch (SQLException e) {
    e.printStackTrace();
}

增加操作:

String sql = "INSERT INTO table_name (name, age, gender) VALUES (?, ?, ?)";
String name = "张三";
int age = 20;
String gender = "男";
try (Connection conn = DriverManager.getConnection(url, user, password);
     PreparedStatement pstmt = conn.prepareStatement(sql)) {
    pstmt.setString(1, name);
    pstmt.setInt(2, age);
    pstmt.setString(3, gender);
    int rows = pstmt.executeUpdate();
    System.out.println(rows + " rows inserted.");
} catch (SQLException e) {
    e.printStackTrace();
}

修改操作:

String sql = "UPDATE table_name SET name = ?, age = ? WHERE id = ?";
String name = "李四";
int age = 22;
int id = 1; // 修改id为1的记录
try (Connection conn = DriverManager.getConnection(url, user, password);
     PreparedStatement pstmt = conn.prepareStatement(sql)) {
    pstmt.setString(1, name);
    pstmt.setInt(2, age);
    pstmt.setInt(3, id);
    int rows = pstmt.executeUpdate();
    System.out.println(rows + " rows updated.");
} catch (SQLException e) {
    e.printStackTrace();
}

其中,url、user、password需要根据你的实际情况进行修改,以连接到正确的MySQL数据库。另外,以上示例代码仅供参考,具体的SQL语句和操作逻辑需要根据你的具体业务需求来实现。希望能对你有所帮助。


祝您问题迎刃而解

最好别把修改逻辑写在前台jsp中,刚开始学习的话,使用单独的Servlet来处理比较好,可以参考下下面的例子:
https://blog.csdn.net/johnfht/article/details/104577603
不过真实业务中都会直接使用SpringBoot,不会自己去用Servlet来实现,可以参考
https://blog.csdn.net/xuxin132133/article/details/83342525

我写一个关于java 增删改查的代码参考一下
该回答引用chatgpt:
以下是使用Java编写一个增删改查(CRUD)操作的JSP页面,并与MySQL数据库表连接的示例代码:

创建数据库表
在MySQL数据库中创建一个名为“users”的表,包含以下列:

列名    数据类型
id    int
name    varchar
email    varchar

2.创建Java类
创建一个名为“User”的Java类,用于在JSP页面中处理CRUD操作。该类应该包含以下方法:

getAllUsers():从数据库中获取所有用户信息。
getUserById(int id):根据用户ID从数据库中获取用户信息。
createUser(User user):向数据库中插入一条新用户信息。
updateUser(User user):更新数据库中的现有用户信息。
deleteUser(int id):从数据库中删除指定ID的用户信息。
以下是示例代码:

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class User {
    private int id;
    private String name;
    private String email;

    public User() {}

    public User(int id, String name, String email) {
        this.id = id;
        this.name = name;
        this.email = email;
    }

    // Getters and setters for id, name, and email

    public List<User> getAllUsers() {
        List<User> users = new ArrayList<User>();
        try {
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "mypassword");
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT * FROM users");
            while (rs.next()) {
                User user = new User();
                user.setId(rs.getInt("id"));
                user.setName(rs.getString("name"));
                user.setEmail(rs.getString("email"));
                users.add(user);
            }
            conn.close();
        } catch (Exception e) {
            System.out.println(e);
        }
        return users;
    }

    public User getUserById(int id) {
        User user = new User();
        try {
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "mypassword");
            PreparedStatement stmt = conn.prepareStatement("SELECT * FROM users WHERE id=?");
            stmt.setInt(1, id);
            ResultSet rs = stmt.executeQuery();
            if (rs.next()) {
                user.setId(rs.getInt("id"));
                user.setName(rs.getString("name"));
                user.setEmail(rs.getString("email"));
            }
            conn.close();
        } catch (Exception e) {
            System.out.println(e);
        }
        return user;
    }

    public void createUser(User user) {
        try {
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "mypassword");
            PreparedStatement stmt = conn.prepareStatement("INSERT INTO users (name, email) VALUES (?, ?)");
            stmt.setString(1, user.getName());
            stmt.setString(2, user.getEmail());
            stmt.executeUpdate();
            conn.close();
        } catch (Exception e) {
            System.out.println(e);
        }
    }

    public void updateUser(User user) {
        try {
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "mypassword");
            PreparedStatement stmt = conn.prepareStatement("UPDATE users SET name=?, email=? WHERE id=?");
            stmt.setString(1, user.getName());
            stmt.setString(2, user.getEmail());
            stmt.setInt(3, user.getId());
            stmt.executeUpdate();
            conn.close();
        } catch (Exception e
    System.out.println(e);
    }
}

public void deleteUser(int id) {
    try {
        Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/mydatabase", "root", "mypassword");
        PreparedStatement stmt = conn.prepareStatement("DELETE FROM users WHERE id=?");
        stmt.setInt(1, id);
        stmt.executeUpdate();
        conn.close();
    } catch (Exception e) {
        System.out.println(e);
    }
}
}


3. 创建JSP页面

创建一个名为“users.jsp”的JSP页面,用于显示所有用户信息和CRUD操作。该页面应包含以下元素:

- 一个HTML表格,用于显示所有用户信息。
- 一个HTML表单,用于输入和编辑用户信息。
- 一个“添加用户”按钮,用于向数据库中插入一条新用户信息。
- 一个“编辑用户”按钮,用于更新数据库中的现有用户信息。
- 一个“删除用户”按钮,用于从数据库中删除指定ID的用户信息。

以下是示例代码:

```jsp
<%@ page import="java.util.List" %>
<%@ page import="User" %>
<%
    User user = new User();
    String action = request.getParameter("action");
    if (action != null) {
        if (action.equals("create")) {
            String name = request.getParameter("name");
            String email = request.getParameter("email");
            user.setName(name);
            user.setEmail(email);
            user.createUser(user);
        } else if (action.equals("update")) {
            int id = Integer.parseInt(request.getParameter("id"));
            String name = request.getParameter("name");
            String email = request.getParameter("email");
            user.setId(id);
            user.setName(name);
            user.setEmail(email);
            user.updateUser(user);
        } else if (action.equals("delete")) {
            int id = Integer.parseInt(request.getParameter("id"));
            user.deleteUser(id);
        }
    }
    List<User> users = user.getAllUsers();
%>
<!DOCTYPE html>
<html>
<head>
    <title>Users</title>
</head>
<body>
    <h1>Users</h1>
    <table>
        <thead>
            <tr>
                <th>ID</th>
                <th>Name</th>
                <th>Email</th>
                <th></th>
            </tr>
        </thead>
        <tbody>
            <% for (User u : users) { %>
                <tr>
                    <td><%= u.getId() %></td>
                    <td><%= u.getName() %></td>
                    <td><%= u.getEmail() %></td>
                    <td>
                        <form method="post" action="users.jsp">
                            <input type="hidden" name="id" value="<%= u.getId() %>">
                            <input type="hidden" name="action" value="delete">
                            <button type="submit">Delete</button>
                        </form>
                        <form method="post" action="users.jsp">
                            <input type="hidden" name="id" value="<%= u.getId() %>">
                            <input type="hidden" name="action" value="edit">
                            <button type="submit">Edit</button>
                        </form>
                    </td>
                </tr>
            <% } %>
        </tbody>
    </table>
    <h2>Add User</h2>
    <form method="post" action="users.jsp">
        <input type="hidden" name="action" value="create">
        <label>Name:</label>
        <input type="text" name="name">

    <label>Email:</label>
    <input type="text" name="email">
    <button type="submit">Create</button>
</form>
<% if (action != null && action.equals("edit")) {
    int id = Integer.parseInt(request.getParameter("id"));
    User u = user.getUserById(id);
%>
<h2>Edit User</h2>
<form method="post" action="users.jsp">
    <input type="hidden" name="action" value="update">
    <input type="hidden" name="id" value="<%= u.getId() %>">
    <label>Name:</label>
    <input type="text" name="name" value="<%= u.getName() %>">
    <label>Email:</label>
    <input type="text" name="email" value="<%= u.getEmail() %>">
    <button type="submit">Update</button>
</form>
<% } %>
</body>
</html>

运行应用程序
将上述Java和JSP文件保存在Web应用程序的相应目录中,并启动应用程序服务器

以下答案由GPT-3.5大模型与博主波罗歌共同编写:
实现 MySQL 数据库的删除、增加和修改操作需要涉及到 Java 和 SQL 语句两部分代码。下面分别给出实现代码。

  1. Java 实现数据库操作

可以使用 Java 中的 JDBC 来连接 MySQL 数据库并实现数据的增删改查操作。步骤如下:

1.1 设置数据库连接信息

String url = "jdbc:mysql://localhost:3306/<database_name>";
String user = "<username>";
String password = "<password>";

// 加载驱动
Class.forName("com.mysql.jdbc.Driver");

// 获取数据库连接对象
Connection conn = DriverManager.getConnection(url, user, password);

其中,<database_name><username><password> 分别为数据库名、用户名和密码。

1.2 执行 SQL 语句

可以使用 executeQuery 方法执行查询语句,使用 executeUpdate 方法执行增删改语句(如插入、删除和更新)。例如:

// 执行查询语句
String sql = "SELECT * FROM users";
ResultSet rs = conn.createStatement().executeQuery(sql);

// 执行增删改语句
String sqlInsert = "INSERT INTO users (name, age, gender) VALUES ('Tom', 20, 'male')";
int rows = conn.createStatement().executeUpdate(sqlInsert);

1.3 关闭数据库连接

执行完 SQL 语句后,需要关闭数据库连接以释放资源。

conn.close();
  1. SQL 语句实现数据库操作

在 Java 中执行 SQL 语句可以使用上述方法,下面给出 SQL 语句的示例代码。

2.1 删除数据

可以使用 DELETE 语句删除数据库中的一条或多条数据。语法如下:

DELETE FROM <table_name> WHERE <delete_condition>;

其中,<table_name> 为要删除的数据所在的表名,<delete_condition> 为删除条件,可以是一条或多条。例如:

DELETE FROM users WHERE id = 1;

删除 users 表中 id 为 1 的数据。

2.2 增加数据

可以使用 INSERT 语句向数据库中插入一条数据。语法如下:

INSERT INTO <table_name> (<column1>, <column2>, ...) VALUES (<value1>, <value2>, ...);

其中,<table_name> 为要插入数据的表名,<column> 为表中的列名,<value> 为要插入的数据。例如:

INSERT INTO users (name, age, gender) VALUES ('Tom', 20, 'male');

users 表中插入一个名为 Tom,年龄为 20,性别为男的数据。

2.3 修改数据

可以使用 UPDATE 语句修改数据库中的一条或多条数据。语法如下:

UPDATE <table_name> SET <column1> = <value1>, <column2> = <value2>, ... WHERE <update_condition>;

其中,<table_name> 为要修改数据的表名,<column> 为要修改的列名,<value> 为要修改的数据,<update_condition> 为修改条件,可以是一条或多条。例如:

UPDATE users SET age = 25 WHERE name = 'Tom';

users 表中名为 Tom 的数据的年龄改为 25 岁。

希望这些代码能帮到你。
如果我的回答解决了您的问题,请采纳!