写一个批量更新的语句,接口里没用实体类,直接传入了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')