可以借鉴下
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();
}
}
}
}
提供些测试代码给我看看
你好,针对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 语句两部分代码。下面分别给出实现代码。
可以使用 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();
在 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 岁。
希望这些代码能帮到你。
如果我的回答解决了您的问题,请采纳!