确认
- [X] 我的版本是最新版本, 我的版本号与 version 相同, 并且项目里无依赖冲突
- [X] 我已经在 issue 中搜索过, 确认问题没有被提出过
- [X] 我已经修改标题, 将标题中的 描述 替换为遇到的问题
当前程序版本
3.5.7
问题描述
- java实体类中定义的类型为java.util.Date的属性,该属性映射到MySQL中类型为date的字段,且在xml文件中指定了jdbcType="DATE"
- 当使用LabmdaQuery查询时,传入类型为java.util.Date的参数时,没有执行DateOnlyTypeHandler自动将java.util.Date转型为java.sql.Date,导致传入的查询参数是:==> Parameters: 2024-08-22 220:24:44.642(Timestamp)
- 当使用mapper.xml查询时,传入类型为java.util.Date的参数时,执行了DateOnlyTypeHandler自动将java.util.Date转型为java.sql.Date,此时执行的查询参数是:==> Parameters: 2024-08-22(Date)
- @TableName添加autoResultMap = true,而且添加@TableField(value = "report_date", jdbcType = JdbcType.DATE)再次执行时依然不能成功查询
- 个人理解这应该是因为@TableField的jdbcType=JdbcType.DATE并没有生效,不然的话mybatis是可以正常执行DateOnlyTypeHandler进行处理的
详细堆栈日志
No response
Comment From: 2320316487
我也碰到了这个问题,请问你现在是怎么解决的
Comment From: luzhaoren
我也碰到了这个问题,请问你现在是怎么解决的
格式化入参或者使用LocalDate,反正解决的不完美