查看: 69|回复: 0

[教程] Mybatis-Plus中@TableField失效的解决方案

[复制链接]

1

主题

0

回帖

0

积分

积极分子

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2009-11-23
发表于 2026-1-12 15:13:20 | 显示全部楼层 |阅读模式

问题描述

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<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);
    }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持琼殿技术社区。

您可能感兴趣的文章:
  • MyBatis-Plus中@TableField和@TableId说明
  • MyBatis-Plus之@TableField的用法解读
  • mybatis-plus常用注解@TableId和@TableField的用法
  • Mybatis-Plus @TableField自动填充时间为null的问题解决
  • MyBatis-Plus标签@TableField之fill自动填充方式
  • Mybatis-Plus使用@TableField实现自动填充日期的代码示例
  • Mybatis-plus常见的坑@TableField不生效问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部