IT俱乐部 Java Mybatis-Plus中@TableField失效的解决方案

Mybatis-Plus中@TableField失效的解决方案

问题描述

mybatisplus默认开启驼峰命名,所以一般不需要使用@TableField注解,但是我在项目中就算加上了该注解,在日志中的select语句中也显示是departmentId。

原因分析

默认情况下Mybatis-Plus会根据@TableFiled生成别名,

而自己指定了QueryWrapper的select属性后就仅仅是属性值而没有了别名。

我的代码:

解决方法

去掉@TableField注解:

将wrapper方法中的字段参数改成原来字段的名称:

    //我的代码参考
    //条件查询带分页
    @PostMapping("findPageUser/{current}/{limit}")
    public Result findPageUser(@PathVariable Integer current, @PathVariable Integer limit, @RequestBody(required = false) UserQueryVo UserQueryVo) {
        //创建page对象,传递当前页,每页记录数
        Page page = new Page(current, limit);
        //构建条件
        QueryWrapper wrapper = new QueryWrapper();
        String departmentId = UserQueryVo.getDepartmentId();//角色科室id

        if (!StringUtils.isEmpty(departmentId)) {
            wrapper.eq("department_id", departmentId);
        }
        //调用方法实现分页查询
        Page UserPage = userService.page(page, wrapper);
        
        //返回结果
        return Result.ok(UserPage);
    }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。

本文收集自网络,不代表IT俱乐部立场,转载请注明出处。https://www.2it.club/code/java/17244.html
下一篇
联系我们

联系我们

在线咨询: QQ交谈

邮箱: 1120393934@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部