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

 更新时间:2026年01月12日 15:13:20   作者:Cau1i  
Mybatis-Plus默认开启驼峰命名,使用@TableField注解时日志中仍显示原名,原因:默认生成别名,QueryWrapper指定select属性后丢失别名,解决方法:去掉@TableField注解,修改wrapper方法中的字段参数

问题描述

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

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java实现Promise.all()的示例代码

    Java实现Promise.all()的示例代码

    这篇文章主要介绍了Java实现Promise.all()的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-08-08
  • Java 深入浅出解析面向对象之抽象类和接口

    Java 深入浅出解析面向对象之抽象类和接口

    本章具体介绍了抽象类和接口,整篇文章用目前流行的手机来举例,图解穿插代码案例。 JAVA成仙路从基础开始讲,后续会讲到JAVA高级,中间会穿插面试题和项目实战,希望能给大家带来帮助
    2022-03-03
  • 一文掌握Spring Boot 日志文件

    一文掌握Spring Boot 日志文件

    日志是程序的重要组成部分,日志对于我们来说,最主要的用途就是排除和定位问题,这篇文章主要介绍了Spring Boot 日志文件,需要的朋友可以参考下
    2023-03-03
  • Java Bean所有拷贝方式使用方法及性能比较详解

    Java Bean所有拷贝方式使用方法及性能比较详解

    在Java开发中,常常需要将一个对象的属性值拷贝到另一个对象中,下面这篇文章主要介绍了Java Bean所有拷贝方式使用方法及性能比较的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-10-10
  • 详细解析Java中抽象类和接口的区别

    详细解析Java中抽象类和接口的区别

    这篇文章主要介绍了Java中抽象类和接口的区别详解,需要的朋友可以参考下
    2014-10-10
  • Maven的pom.xml文件结构中的build

    Maven的pom.xml文件结构中的build

    本文主要介绍了Maven的pom.xml文件结构中的build,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • Springboot RestTemplate设置超时时间的方法(Spring boot 版本)

    Springboot RestTemplate设置超时时间的方法(Spring boot 

    这篇文章主要介绍了Springboot RestTemplate设置超时时间的方法,包括Spring boot 版本<=1.3和Spring boot 版本>=1.4,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-08-08
  • Spring中的事务拦截器顺序如何控制详解

    Spring中的事务拦截器顺序如何控制详解

    这篇文章主要介绍了Spring中的事务拦截器顺序如何控制详解,那么spring事务拦截器的顺序如何控制呢,若我们自己也添加了一些拦截器,此时事务拦截器和自定义拦截器共存的时候,他们的顺序是怎么执行的?如何手动来控制他们的顺序,需要的朋友可以参考下
    2024-01-01
  • Kafka的安装及接入SpringBoot的详细过程

    Kafka的安装及接入SpringBoot的详细过程

    Kafka 是一种高性能、分布式的消息队列系统,最初由 LinkedIn 公司开发,并于2011年成为 Apache 顶级项目,这篇文章主要介绍了Kafka的安装及接入SpringBoot,需要的朋友可以参考下
    2024-05-05
  • mybatis使用foreach语句实现IN查询(三种)

    mybatis使用foreach语句实现IN查询(三种)

    这篇文章主要介绍了mybatis使用foreach语句实现IN查询(三种),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12

最新评论