在数据库新建一个员工表,包含emp_id员工id(主键,自增),emp_name员工姓名,emp_dept员工部门3个字段,然后添加几条测试数据。编写代码连接数据库,实现查询所有员工功能和删除员工功能(可以使用DBUtils工具),JSP页面使用EL和jstl
时间: 2024-09-06 18:07:41 浏览: 119
首先,我们需要在数据库中创建一个员工表。这里以MySQL数据库为例,可以使用以下SQL语句创建一个名为`employee`的表:
```sql
CREATE TABLE `employee` (
`emp_id` int(11) NOT NULL AUTO_INCREMENT,
`emp_name` varchar(50) NOT NULL,
`emp_dept` varchar(50) NOT NULL,
PRIMARY KEY (`emp_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
```
接下来,我们可以添加一些测试数据到这个表中:
```sql
INSERT INTO `employee` (`emp_name`, `emp_dept`) VALUES ('张三', '研发部');
INSERT INTO `employee` (`emp_name`, `emp_dept`) VALUES ('李四', '市场部');
INSERT INTO `employee` (`emp_name`, `emp_dept`) VALUES ('王五', '人事部');
```
为了实现查询所有员工和删除员工的功能,我们可以使用DBUtils工具。首先,需要引入DBUtils的jar包以及数据库的驱动jar包到项目中。
以下是使用DBUtils实现查询所有员工的功能的代码示例:
```java
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.List;
import com.example.Employee; // 假设有一个Employee类对应employee表
// 数据库连接信息
String jdbcUrl = "jdbc:mysql://localhost:3306/yourdatabase";
String username = "yourusername";
String password = "yourpassword";
Connection conn = null;
try {
conn = DriverManager.getConnection(jdbcUrl, username, password);
QueryRunner runner = new QueryRunner();
List<Employee> employees = runner.query(conn, "SELECT * FROM employee", new BeanListHandler<>(Employee.class));
for (Employee employee : employees) {
System.out.println(employee);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭数据库连接
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
以下是使用DBUtils实现删除员工的功能的代码示例:
```java
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import java.sql.Connection;
import java.sql.DriverManager;
import com.example.Employee;
// 数据库连接信息
String jdbcUrl = "jdbc:mysql://localhost:3306/yourdatabase";
String username = "yourusername";
String password = "yourpassword";
Connection conn = null;
try {
conn = DriverManager.getConnection(jdbcUrl, username, password);
QueryRunner runner = new QueryRunner();
int rows = runner.update(conn, "DELETE FROM employee WHERE emp_id=?", 1);
System.out.println("受影响的行数:" + rows);
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭数据库连接
if (conn != null) {
try {
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
在JSP页面中,我们可以使用EL和JSTL来展示和操作员工数据。例如,使用JSTL的`<c:forEach>`标签遍历所有员工:
```jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title>员工列表</title>
</head>
<body>
<h2>员工列表</h2>
<table border="1">
<tr>
<th>ID</th>
<th>姓名</th>
<th>部门</th>
</tr>
<c:forEach var="employee" items="${employees}">
<tr>
<td>${employee.empId}</td>
<td>${employee.empName}</td>
<td>${employee.empDept}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
```
请注意,以上代码仅作为示例,实际应用中需要确保数据库连接信息正确,并且有适当的错误处理机制。还需要为Employee类提供相应的getter和setter方法,以便于DBUtils处理查询结果。
阅读全文