javaee 写一串代码操作emp表,工号从7788-7900这四行记录, 数据要:工号,姓名,职位,薪水; 要求: 1、将每行记录变成一个类对象; 2、将每行是变成一个Map对象;
时间: 2023-06-16 07:03:09 浏览: 168
JavaEE源代码 jaxen-1.1-beta-7
5星 · 资源好评率100%
这里提供一种基于 JDBC 的实现方式:
1. 将每行记录变成一个类对象
首先需要定义一个 Emp 类,包含工号、姓名、职位、薪水四个属性:
```java
public class Emp {
private int empno;
private String ename;
private String job;
private double sal;
// 省略 getter 和 setter 方法
}
```
然后使用 JDBC 连接数据库,执行 SQL 语句查询符合条件的记录:
```java
List<Emp> empList = new ArrayList<>();
try (Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
PreparedStatement ps = conn.prepareStatement("SELECT empno, ename, job, sal FROM emp WHERE empno >= ? AND empno <= ?")) {
ps.setInt(1, 7788);
ps.setInt(2, 7900);
try (ResultSet rs = ps.executeQuery()) {
while (rs.next()) {
Emp emp = new Emp();
emp.setEmpno(rs.getInt("empno"));
emp.setEname(rs.getString("ename"));
emp.setJob(rs.getString("job"));
emp.setSal(rs.getDouble("sal"));
empList.add(emp);
}
}
}
```
2. 将每行记录变成一个 Map 对象
使用同样的 SQL 语句查询记录,然后将每行记录转换成一个 Map 对象:
```java
List<Map<String, Object>> mapList = new ArrayList<>();
try (Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
PreparedStatement ps = conn.prepareStatement("SELECT empno, ename, job, sal FROM emp WHERE empno >= ? AND empno <= ?")) {
ps.setInt(1, 7788);
ps.setInt(2, 7900);
try (ResultSet rs = ps.executeQuery()) {
while (rs.next()) {
Map<String, Object> map = new HashMap<>();
map.put("empno", rs.getInt("empno"));
map.put("ename", rs.getString("ename"));
map.put("job", rs.getString("job"));
map.put("sal", rs.getDouble("sal"));
mapList.add(map);
}
}
}
```
阅读全文