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

举报
三分恶 发表于 2021/04/23 00:13:58 2021/04/23
【摘要】 错误 写一个批量更新的语句,接口里没用实体类,直接传入了Map<String, Object>: update(List<Map<String, Object>> list); 1 在脚本里,更新一个datetime类型的字段, UPDATE demo set time=#{time} 1 结果无法转化,出现错误: org...

错误

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

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

  
 
  • 1

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

UPDATE demo set time=#{time}

  
 
  • 1

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

org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible

  
 
  • 1

解决

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

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

示例:

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

  
 
  • 1
  • 2

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

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

  
 
  • 1



文章来源: blog.csdn.net,作者:三分恶,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/sinat_40770656/article/details/110564105

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。