通过 jdbc 模板,多列值即将到来,我如何将其存储在 java 中的地图中
Through jdbc template multiple column value are coming how can i store it in a map in java
通过 jdbc 模板,我的查询返回了多个列值。如何将其存储在 Java 中的地图中?
假设我有这样的查询:
SELECT Employee_Name, Employee_Age
FROM Employee
WHERE Employee_ID=1
在这个查询的结果中,我们得到了 员工姓名和 Employee_Age 关于 Employee_ID。如何将此值存储在映射中,其中键是姓名和年龄,值是我们从数据库中获取的值。
希望 java8 中的解决方案对您有所帮助:
jdbcTemplate.query("SELECT Employee_Name, Employee_Age FROM Employee WHERE Employee_ID=1", (ResultSet rs) -> {
HashMap<String,String> results = new HashMap<>();
while (rs.next()) {
results.put(rs.getString("Employee_Name"), rs.getString("Employee_Age"));
}
return results;
});
对于key,我们可以合并Employee_Name和Employee_Age,用'-'分隔,比如:
rs.getString("Employee_Name")+"-"+rs.getString("Employee_Age")
对于价值,整个对象应该像你说的那样放:我们从数据库中得到的。
rs.getObject(i)
jdbcTemplate.query("SELECT Employee_Name, Employee_Age FROM Employee WHERE Employee_ID=1", (ResultSet rs) -> {
HashMap<String,String> results = new HashMap<>();
int i = 0;
while (rs.next()) {
results.put(rs.getString("Employee_Name")+"-"+rs.getString("Employee_Age"), rs.getObject(i));
i++;
}
return results;
});
通过 jdbc 模板,我的查询返回了多个列值。如何将其存储在 Java 中的地图中?
假设我有这样的查询:
SELECT Employee_Name, Employee_Age
FROM Employee
WHERE Employee_ID=1
在这个查询的结果中,我们得到了 员工姓名和 Employee_Age 关于 Employee_ID。如何将此值存储在映射中,其中键是姓名和年龄,值是我们从数据库中获取的值。
希望 java8 中的解决方案对您有所帮助:
jdbcTemplate.query("SELECT Employee_Name, Employee_Age FROM Employee WHERE Employee_ID=1", (ResultSet rs) -> {
HashMap<String,String> results = new HashMap<>();
while (rs.next()) {
results.put(rs.getString("Employee_Name"), rs.getString("Employee_Age"));
}
return results;
});
对于key,我们可以合并Employee_Name和Employee_Age,用'-'分隔,比如:
rs.getString("Employee_Name")+"-"+rs.getString("Employee_Age")
对于价值,整个对象应该像你说的那样放:我们从数据库中得到的。
rs.getObject(i)
jdbcTemplate.query("SELECT Employee_Name, Employee_Age FROM Employee WHERE Employee_ID=1", (ResultSet rs) -> {
HashMap<String,String> results = new HashMap<>();
int i = 0;
while (rs.next()) {
results.put(rs.getString("Employee_Name")+"-"+rs.getString("Employee_Age"), rs.getObject(i));
i++;
}
return results;
});