List<SysUserVo> userList = sysUserVoService.selectUser();如何将userList的属性值作为另外一个查询方法的参数
时间: 2023-05-25 15:01:05 浏览: 78
将userList中每个SysUserVo对象的属性值取出来,例如取出每个对象的userId属性值,或者其他你想要作为参数的属性值,然后将这些属性值组成一个新的数组或集合,作为另外一个查询方法的参数传入即可。具体实现代码如下:
1. 定义一个集合来保存属性值
List<Long> userIds = new ArrayList<>();
2. 循环遍历userList,将每个SysUserVo对象的userId属性值加入集合中
for(SysUserVo sysUserVo : userList) {
userIds.add(sysUserVo.getUserId());
}
3. 将集合转化为对应的数据类型,例如数组或者List
Long[] userIdArr = userIds.toArray(new Long[0]); //数组
List<Long> userIdList = new ArrayList<>(userIds); //List
4. 将转换后的参数传递给需要使用的方法
其他方法(userIds); //数组形式
其他方法(userIdList); //List形式
相关问题
List<User> byUser = salChanceService.findByUser();,如何将byUser 传到html中的下拉框中
您可以使用Thymeleaf模板引擎来将byUser传到HTML中的下拉框中。
首先,在您的HTML页面中,您需要使用Thymeleaf的语法来定义下拉框,例如:
```
<select th:field="*{user}">
<option value="">请选择用户</option>
<option th:each="user : ${byUser}" th:value="${user.id}" th:text="${user.name}"></option>
</select>
```
其中,`th:field="*{user}"`表示将下拉框的选中值绑定到一个名为`user`的变量中。`th:each="user : ${byUser}"`表示遍历`byUser`列表中的每个元素,将当前元素赋值给`user`变量。`th:value="${user.id}"`表示将当前元素的`id`属性作为选项的值,`th:text="${user.name}"`表示将当前元素的`name`属性作为选项的显示文本。
然后,在您的控制器中,您需要将`byUser`列表添加到模型中,例如:
```
@GetMapping("/your-page")
public String yourPage(Model model) {
List<User> byUser = salChanceService.findByUser();
model.addAttribute("byUser", byUser);
return "your-page";
}
```
这样,在渲染HTML页面时,Thymeleaf会将`byUser`列表中的每个元素生成一个选项,并且根据绑定的变量名将选中值自动设置为`user`变量的值。
List<User> users = userMapper.selectList(od.select(User::getAge, User::getId));
这段代码使用了 MyBatis-Plus 的链式查询语法,通过 `selectList` 方法查询符合条件的 `User` 对象列表。
其中,`User::getAge` 和 `User::getId` 是 Java 8 的方法引用,表示获取 `User` 对象的 `age` 和 `id` 属性值。
`od.select(User::getAge, User::getId)` 则是 MyBatis-Plus 的 `QueryWrapper` 对象的链式调用,表示只查询 `age` 和 `id` 列。
最终查询语句类似于:
```sql
SELECT `id`, `age` FROM `user` WHERE ...
```
其中的 `...` 表示根据具体的查询条件生成的 SQL 语句。