Mybatis-Plus中@TableField失效问题及解决
mybatisplus默认开启驼峰命名,所以一般不需要使用@TableField注解,但是我在项目中就算加上了该注解,在日志中的select语句中也显示是departmentId。而自己指定了QueryWrapper的select属性后就仅仅是属性值而没有了别名。分析:默认情况下Mybatis-Plus会根据@TableFiled生成别名,
·
🎈 1 参考文档
🔍2 问题描述
mybatisplus默认开启驼峰命名,所以一般不需要使用@TableField注解,但是我在项目中就算加上了该注解,在日志中的select语句中也显示是departmentId。
💡3 原因分析
根据参考文档分析:默认情况下Mybatis-Plus会根据@TableFiled生成别名,
而自己指定了QueryWrapper的select属性后就仅仅是属性值而没有了别名。
我的代码:
🚀4 解决方法
去掉@TableField注解:
将wrapper方法中的字段参数改成原来字段的名称:
//我的代码参考
//条件查询带分页
@PostMapping("findPageUser/{current}/{limit}")
public Result findPageUser(@PathVariable Integer current, @PathVariable Integer limit, @RequestBody(required = false) UserQueryVo UserQueryVo) {
//创建page对象,传递当前页,每页记录数
Page<User> page = new Page<>(current, limit);
//构建条件
QueryWrapper<User> wrapper = new QueryWrapper<>();
String departmentId = UserQueryVo.getDepartmentId();//角色科室id
if (!StringUtils.isEmpty(departmentId)) {
wrapper.eq("department_id", departmentId);
}
//调用方法实现分页查询
Page<User> UserPage = userService.page(page, wrapper);
//返回结果
return Result.ok(UserPage);
}
更多推荐
已为社区贡献6条内容
所有评论(0)