mybatis-plus无法正确映射mysql列名

Posted 菜鸟的小知识

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis-plus无法正确映射mysql列名相关的知识,希望对你有一定的参考价值。

在数据库列命名方式同时存在下划线命名(user_id)和驼峰命名(UserId)时,我们会碰到映射错误的问题,mybatis-plus无法正确使用

  例如在使用User.setletById()时,会报出错误:

  com.baomidou.mybatisplus.exceptions.MybatisPlusException: java.lang.reflect.InvocationTargetException

这时可以在实体类的响应字段上加注解  @TableField("数据库列名")

 

PS:mybatis-plus注解

     @TableName:数据库表相关

  @TableId:表主键标识

  @TableField:表字段标识

  @TableLogic:表字段逻辑处理注解(逻辑删除)

  @TableId(type= IdType.ID_WORKER_STR)

  @TableField(exist = false):表示该属性不为数据库表字段,但又是必须使用的。

  @TableField(exist = true):表示该属性为数据库表字段。

  @TableField(condition = SqlCondition.LIKE):表示该属性可以模糊搜索。

  @TableField(fill = FieldFill.INSERT):注解填充字段 ,生成器策略部分也可以配置!

以上是关于mybatis-plus无法正确映射mysql列名的主要内容,如果未能解决你的问题,请参考以下文章

mybatis-plus查询时不能映射字段

如何在 MySQL 数据库中搜索特定列名? [复制]

Mybatis-Plus:了解Mybatis-Plus快速开始(Mybatis + Mybatis-Plus,Mybatis-Plus自动做了属性映射)

从 PersistEntity/PersistField 映射到 DB 中的列名和表名的规则是啥

解决Docker Mysql无法正确加载配置文件

无法从 information_schema (MySQL/MariaDB) 访问列名