resultMap.put("userinfo", commonMapper.selectAction("select count(*) as nums from userinfo ").get(0).get("nums"));
时间: 2024-06-07 20:05:30 浏览: 44
这段代码的作用是查询数据库中 `userinfo` 表的记录数,并将结果存储在 `resultMap` 中,键为 `userinfo`。其中 `commonMapper` 是一个通用的数据库操作类,`selectAction` 方法用于执行 SQL 语句并返回结果。`select count(*) as nums from userinfo` 是一条 SQL 语句,用于查询 `userinfo` 表中的记录数。最后通过 `get(0).get("nums")` 获取查询结果中的第一行数据的 `nums` 列的值。
相关问题
resultMap.put("errorNo", 0); resultMap.put("data", userList); resultMap.put("total", total);
这行代码是将控制器方法执行后的返回结果封装在一个 HashMap 中,并将该 HashMap 作为响应返回给客户端。其中,resultMap 是一个 HashMap 对象,用于封装返回结果。这个对象的键值对包括:
- "errorNo":表示方法执行后是否出现错误,0 表示没有错误。
- "data":表示查询到的用户列表。
- "total":表示查询到的用户总数。
在本行代码中,先将 "errorNo" 的值设为 0,表示方法执行没有出现错误。然后,将查询到的用户列表赋值给 "data",将查询到的用户总数赋值给 "total"。最终,将封装好的 HashMap 作为响应返回给客户端。
优化以下代码 Map<String, Integer> resultMap = new HashMap<>(); List<StubDiffTimeDiscountBO> list = new ArrayList<>(); for (StubDiffTimeDiscountBO stubDiscountBO : boList) { String tmp = stubDiscountBO.getStupGroupId(); int count = resultMap.get(tmp) != null ? resultMap.get(tmp) : 0; count = count + 1; resultMap.put(tmp, count); } resultMap.keySet().stream().filter(getKey -> resultMap.get(getKey) != 1).forEach(getKey -> { StubDiffTimeDiscountBO bo = new StubDiffTimeDiscountBO(); bo.setStupGroupId(getKey); list.add(bo); }); List<String> repeatIdList = list.stream().map(StubDiffTimeDiscountBO::getStupGroupId).collect(Collectors.toList());
优化后的代码如下:
```
Map<String, Integer> resultMap = new HashMap<>();
List<String> repeatIdList = new ArrayList<>();
for (StubDiffTimeDiscountBO stubDiscountBO : boList) {
String tmp = stubDiscountBO.getStupGroupId();
int count = resultMap.getOrDefault(tmp, 0);
count++;
resultMap.put(tmp, count);
if (count == 2) {
repeatIdList.add(tmp);
}
}
List<StubDiffTimeDiscountBO> list = repeatIdList.stream().map(id -> {
StubDiffTimeDiscountBO bo = new StubDiffTimeDiscountBO();
bo.setStupGroupId(id);
return bo;
}).collect(Collectors.toList());
```
优化的细节如下:
1. 用`Map.getOrDefault`方法替代`Map.get`方法判断null的情况;
2. 用if语句判断重复次数,避免多次遍历结果集;
3. 用`stream`流替代原来的`keySet`方法,避免多次遍历结果集;
4. 直接用`map`方法映射`StubDiffTimeDiscountBO`对象,避免手动添加到`list`中。
阅读全文