确认

  • [X] 我的版本是最新版本, 我的版本号与 version 相同, 并且项目里无依赖冲突
  • [X] 我已经在 issue 中搜索过, 确认问题没有被提出过
  • [X] 我已经修改标题, 将标题中的 描述 替换为遇到的问题

当前程序版本

3.5.7

问题描述

环境:springboot3.2.7+mybatis-plus3.5.7+jdk17+mysql8 数据库字段类型:json 实体类字段类型:List 实体类伪代码:

@Data
@EqualsAndHashCode(callSuper = true)
@TableName(value = "user_info", autoResultMap = true)
public class User{
   private Integer userId;

   @TableField(typeHandler = JacksonTypeHandler.class)
    private List<Long> deptIds;
  ....
}

配置:

mybatis-plus:
  checkConfigLocation: false
  configuration:
    mapUnderscoreToCamelCase: true
    autoMappingBehavior: FULL
    autoMappingUnknownColumnBehavior: NONE

问题: 1.插入或使用单表BaseMapper中的查询方法可以正常转换, 在xml自定义sql查询,返回resultType时无法成功解析,断点时发现未进入JacksonTypeHandler 2.自定义jsonTypeHandler继承abstractJsonTypeHandler,指定 @MappedJdbcTypes(JdbcType.VARCHAR) @MappedTypes({List.class}) 配置type-handlers-package: 依然无效,没有进入自定义typeHandler

详细堆栈日志

无报错

Comment From: miemieYaho

你自己写的查询需要你自己写resultmap,Jacksontypehandler不认泛型