基于javaMybatis存进时间戳的问题

 更新时间:2021年06月16日 11:13:51   作者:程杉耘朵  
这篇文章主要介绍了javaMybatis存进时间戳的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

java Mybatis存进时间戳

封装了一个实体类,里面有个字段 Integer createTime。

要利用这个实体类将一个时间戳存进数据库中。

刚开始的时候出现错误:

Data truncation: Incorrect datetime value: '123456789' for column 'create_time' at row 1

是存进数据库的时候出现了问题,个人理解应该是Integer类型和数据库中的Timestamp类型不匹配。

之后把封装类里createTime的类型变成了Timestamp,但是由于我是用Map<String, Object>传过来的参数,取出来的值是Object类型,转换成Timestamp一直出错(可能是我知道的方法不够),于是我又把createTime的封装类变成了Date类型。代码大概如下

Long createTime = Long.parseLong(param.get("CreateTime").toString()); //先用Long接收传过来的参数
Member member = new Member(); //实例化一个实体类
member.setCreateTime(new Date(createTime)); //因为封装类里createTime是Date类型,直接new一个日期,只要把Long类型的数值放进去就可以

这样,将member用Mybatis插入数据库就不会出现问题了。

Mybatis处理相关时间戳格式的数据

1、程序中直接写SQL语句时:

1)如果插入的是当前时间戳,可以在SQL中直接写SYSTIMESTAMP关键字。

2)如果插入的是前台送上来的时间,可以在SQL中使用Oracle的函数进行转换to_date或to_timestamp,

to_timestamp(string, fmt)   

fmt可以为空,为空时,string必须符合NLS_TIMESTAMP_FORMAT格式,即 'YYYY-MM-DD HH:MI:SS.FF'

to_date只保存到日期,to_timestamp可以保存到时分秒

2、通过Mybatis进行映射时

如果Entity中定义的类型为Timestamp, resultMap中定义的javaType=“java.sql.Timestamp”, SQL语句中定义的jdbcType=TIMESTAMP

如果Entity中定义的类型为String,resultMap中定义的javaType="java.lang.String",SQL语句中需要对参数进行to_timestamp转换,jdbcType=TIMESTAMP

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot项目 文件上传临时目标被删除异常的处理方案

    SpringBoot项目 文件上传临时目标被删除异常的处理方案

    这篇文章主要介绍了SpringBoot项目 文件上传临时目标被删除异常的处理方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • 基于java查找最长字符串代码实例

    基于java查找最长字符串代码实例

    这篇文章主要介绍了基于java查找最长字符串代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 带你入门Java的类与对象

    带你入门Java的类与对象

    下面小编就为大家带来一篇深入理解Java 对象和类。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能给你带来帮助
    2021-07-07
  • mybatis实现一对一关联映射实例代码

    mybatis实现一对一关联映射实例代码

    这篇文章主要给大家介绍了关于mybatis实现一对一关联映射的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-11-11
  • hadoop是什么语言

    hadoop是什么语言

    Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储
    2017-09-09
  • Java如何找出数组中重复的数字

    Java如何找出数组中重复的数字

    这篇文章主要为大家详细介绍了Java如何找出数组中重复的数字,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • springboot2.x使用Jsoup防XSS攻击的实现

    springboot2.x使用Jsoup防XSS攻击的实现

    这篇文章主要介绍了springboot2.x使用Jsoup防XSS攻击的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • MyBatis-Plus 如何实现连表查询的示例代码

    MyBatis-Plus 如何实现连表查询的示例代码

    这篇文章主要介绍了MyBatis-Plus 如何实现连表查询的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Java实现简单推箱子游戏

    Java实现简单推箱子游戏

    这篇文章主要为大家详细介绍了Java实现推箱子游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • Springboot如何利用拦截器拦截请求信息收集到日志详解

    Springboot如何利用拦截器拦截请求信息收集到日志详解

    一些系统经常需要关注用户请求的具体信息,如用户信息、请求参数、响应结果等等,在SpringBoot应用中可通过拦截器的方式统一处理,下面这篇文章主要给大家介绍了关于Springboot如何利用拦截器拦截请求信息收集到日志的相关资料,需要的朋友可以参考下
    2021-08-08

最新评论