根据员工表 采用JDBC完成以下功能1 查询部门员工2 办理员工入职 3 调整员工薪资4 员工离职5 分页查询员工
以下是使用JDBC完成上述功能的代码示例:
- 查询部门员工
public List<Employee> getEmployeesByDepartment(String department) {
List<Employee> employees = new ArrayList<>();
try (Connection conn = DriverManager.getConnection(url, username, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM employees WHERE department = '" + department + "'")) {
while (rs.next()) {
Employee employee = new Employee();
employee.setId(rs.getInt("id"));
employee.setName(rs.getString("name"));
employee.setDepartment(rs.getString("department"));
employee.setSalary(rs.getDouble("salary"));
employees.add(employee);
}
} catch (SQLException e) {
e.printStackTrace();
}
return employees;
}
- 办理员工入职
public void hireEmployee(Employee employee) {
try (Connection conn = DriverManager.getConnection(url, username, password);
PreparedStatement stmt = conn.prepareStatement("INSERT INTO employees (name, department, salary) VALUES (?, ?, ?)")) {
stmt.setString(1, employee.getName());
stmt.setString(2, employee.getDepartment());
stmt.setDouble(3, employee.getSalary());
stmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
- 调整员工薪资
public void adjustSalary(int employeeId, double newSalary) {
try (Connection conn = DriverManager.getConnection(url, username, password);
PreparedStatement stmt = conn.prepareStatement("UPDATE employees SET salary = ? WHERE id = ?")) {
stmt.setDouble(1, newSalary);
stmt.setInt(2, employeeId);
stmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
- 员工离职
public void terminateEmployee(int employeeId) {
try (Connection conn = DriverManager.getConnection(url, username, password);
PreparedStatement stmt = conn.prepareStatement("DELETE FROM employees WHERE id = ?")) {
stmt.setInt(1, employeeId);
stmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
}
- 分页查询员工
public List<Employee> getEmployeesByPage(int pageNumber, int pageSize) {
List<Employee> employees = new ArrayList<>();
try (Connection conn = DriverManager.getConnection(url, username, password);
PreparedStatement stmt = conn.prepareStatement("SELECT * FROM employees LIMIT ?, ?")) {
int start = (pageNumber - 1) * pageSize;
stmt.setInt(1, start);
stmt.setInt(2, pageSize);
ResultSet rs = stmt.executeQuery();
while (rs.next()) {
Employee employee = new Employee();
employee.setId(rs.getInt("id"));
employee.setName(rs.getString("name"));
employee.setDepartment(rs.getString("department"));
employee.setSalary(rs.getDouble("salary"));
employees.add(employee);
}
} catch (SQLException e) {
e.printStackTrace();
}
return employees;
}
请注意,这只是一个简单的示例。在实际使用中,需要根据具体的数据库和表结构进行适当的调整和错误处理
原文地址: https://www.cveoy.top/t/topic/hANw 著作权归作者所有。请勿转载和采集!