Mybatis将String作为日期存入MySQL数据库

错误

写一个批量更新的语句,接口里没用实体类,直接传入了Map<String, Object>

update(List<Map<String, Object>> list);

在脚本里,更新一个datetime类型的字段,

UPDATE demo set time=#{
    
    time}

结果无法转化,出现错误:

org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible

解决

既然MyBatis转化不了,那么就考虑使用MySQL的日期转换函数。

  • STR_TO_DATE(str,format) :将字符串转化为日期。

示例:

SELECT STR_TO_DATE('01,5,2013','%d,%m,%Y');
        -> '2013-05-01'

OK,使用这个函数将字符串格式的日期转化一下,问题解决:

UPDATE demo set time=STR_TO_DATE(#{
    
    time},'%Y-%m-%d')



猜你喜欢

转载自blog.csdn.net/sinat_40770656/article/details/110564105