用java写一个拥有人员编号查询,修改,清空和退出的功能按钮,并实现其功能。其中人员编号查询需要查询需要查询数据库表数据。修改也需要修改数据库表中数据。其中查询数据库表表名为per,代码帮我整合在一起。
时间: 2024-02-21 16:57:55 浏览: 100
好的,我可以为您提供一个简单的Java程序,实现人员编号查询、修改、清空和退出功能按钮,并查询和修改数据库表中的数据。以下是程序代码:
```java
import java.sql.*;
public class PersonManager {
private static final String DB_URL = "jdbc:mysql://localhost:3306/mydatabase";
private static final String DB_USER = "root";
private static final String DB_PASSWORD = "password";
public static void main(String[] args) {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);
System.out.println("欢迎使用人员管理系统!");
while (true) {
System.out.println("请选择功能:");
System.out.println("1. 查询人员信息");
System.out.println("2. 修改人员信息");
System.out.println("3. 清空人员信息");
System.out.println("4. 退出系统");
int choice = Integer.parseInt(System.console().readLine());
if (choice == 1) {
System.out.println("请输入人员编号:");
int id = Integer.parseInt(System.console().readLine());
String sql = "SELECT * FROM per WHERE id=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
System.out.println("编号:" + rs.getInt("id"));
System.out.println("姓名:" + rs.getString("name"));
System.out.println("年龄:" + rs.getInt("age"));
System.out.println("性别:" + rs.getString("gender"));
} else {
System.out.println("没有找到编号为" + id + "的人员信息");
}
} else if (choice == 2) {
System.out.println("请输入人员编号:");
int id = Integer.parseInt(System.console().readLine());
String sql = "SELECT * FROM per WHERE id=?";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, id);
ResultSet rs = pstmt.executeQuery();
if (rs.next()) {
System.out.println("请输入修改后的姓名:");
String name = System.console().readLine();
System.out.println("请输入修改后的年龄:");
int age = Integer.parseInt(System.console().readLine());
System.out.println("请输入修改后的性别:");
String gender = System.console().readLine();
sql = "UPDATE per SET name=?, age=?, gender=? WHERE id=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, name);
pstmt.setInt(2, age);
pstmt.setString(3, gender);
pstmt.setInt(4, id);
pstmt.executeUpdate();
System.out.println("人员信息修改成功!");
} else {
System.out.println("没有找到编号为" + id + "的人员信息");
}
} else if (choice == 3) {
String sql = "DELETE FROM per";
Statement stmt = conn.createStatement();
stmt.executeUpdate(sql);
System.out.println("人员信息清空成功!");
} else if (choice == 4) {
System.out.println("感谢使用人员管理系统!");
break;
} else {
System.out.println("请输入正确的选项!");
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
```
上述程序连接了一个 MySQL 数据库,使用了 JDBC API 进行数据库操作。在程序中,通过循环显示功能菜单,用户可以选择需要执行的操作。
当用户选择查询人员信息时,程序会要求输入人员编号,然后查询数据库表 per 中对应的人员信息,并将结果输出到控制台上。
当用户选择修改人员信息时,程序会要求输入人员编号,然后查询数据库表 per 中对应的人员信息,并要求输入修改后的姓名、年龄和性别。接着,程序会更新数据库表中对应的人员信息,并输出修改成功的提示信息。
当用户选择清空人员信息时,程序会删除数据库表 per 中的所有数据,并输出清空成功的提示信息。
当用户选择退出系统时,程序会结束循环,并输出感谢使用的提示信息。
注意:在运行程序之前,需要先创建一个名为 mydatabase 的数据库,并在其中创建一个名为 per 的表,表中包含 id、name、age 和 gender 四个字段。
阅读全文