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):注解填充字段 ,生成器策略部分也可以配置!