前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >数据库时间字段timestamp Mybatis 如何处理呢?

数据库时间字段timestamp Mybatis 如何处理呢?

作者头像
收心
发布于 2022-01-12 01:37:54
发布于 2022-01-12 01:37:54
3.2K00
代码可运行
举报
文章被收录于专栏:Java实战博客Java实战博客
运行总次数:0
代码可运行

如果你的数据库设计种使用了timpstamp字段,想用ORM框架Mybatis封装时,实体类使用java.sqlTimpstamp 那么恭喜你。你使用Timptamp对象传入的值包含毫秒值,这个结果将会直接影响到你存储Mysql的结果!看似插入成功了,实际Mysql存储的时间可不是你指定的时间。

Timpstamp 输出示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    @Test
    void contextLoads() {
        Timestamp timestamp = new Timestamp(System.currentTimeMillis());
        System.out.println(timestamp.toString());   // 2022-01-11 10:53:12.344
    }

所以实体类也不要用Date和Timpstamp了,直接使用String!

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    /**
     * 乐透开始时间
     */
    @ApiModelProperty(value = "乐透开始时间")
    private String lotteryStart;

Mybatis的xml相关字段直接写:jdbcType=TIMESTAMP

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
      <if test="lotteryStart != null">
        #{lotteryStart,jdbcType=TIMESTAMP},
      </if>

这样你在对字段赋值的时候使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        String startdate = new DateTime().toString();

        //DateTime是Hutool包下的:结果是 精确到秒的!
        输出:2020-01-02 03:04:05

完成!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
前端传字符串的开始时间和 结束时间,数据库时间字段是 timestamp,Java 代码如何写
数据库时间字段类型是timestamp,前端传的开始时间和结束时间是字符串,那么代码如何写,可以实现 时间段查询
一写代码就开心
2023/11/07
2430
MyBatis generator逆向生成实体类插件开发
市面上有很多逆向生成实体类的插件,Mybatis本身有也有逆向生成实体的插件,但是比较通用,不符合个人业务需求,于是来定制一个插件。简单好用,只需要运行工程里面的Main类即可生成代码。不多说,来看效果:
Lvshen
2022/05/05
4280
MyBatis generator逆向生成实体类插件开发
MyBatis typeAliases & typeHandlers(3)
可以看到,在resultMap标签type属性直接使用别名user就可以匹配到类型”com.freecloud.plug.mybatis.entity.User“,极大的减少了全限定类名的书写。
兜兜毛毛
2021/04/14
8070
MyBatis typeAliases & typeHandlers(3)
MyBatis 所有的 jdbcType类型
当我们使用java.util.Date作为实体的日期类型时(JAVA没有DateTime这个类,Date类能够同时表示日期和时间),java.util.Date实际上是能够表示MySQL的三种字段类型:
全栈程序员站长
2022/11/01
1.8K0
MyBatis 所有的 jdbcType类型
Mybatis代码生成器Mybatis-Generator使用详解
最近在做创业项目的时候因为有比较多的新需求,需要频繁基于DDL生成Mybatis适合的实体、Mapper接口和映射文件。其中,代码生成器是MyBatis Generator(MBG),用到了Mybatis-Generator-Core相关依赖,这里通过一篇文章详细地分析这个代码生成器的使用方式。本文编写的时候使用的Mybatis-Generator版本为1.4.0,其他版本没有进行过调研。
Throwable
2020/06/23
5.9K0
MyBatis初级实战之五:一对一关联查询
所谓一对一,就是一个对象关联了另一个对象,例如一条log记录中,带有对应的user信息;
程序员欣宸
2021/06/09
1K0
MyBatis初级实战之五:一对一关联查询
Mybatis-plus 上
MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。
张小驰出没
2021/04/15
4310
Mybatis-plus 上
MYSQL 数据库时间字段 INT,TIMESTAMP,DATETIME 性能效率比较
在数据库设计的时候,我们经常会需要设计时间字段,在 MYSQL 中,时间字段可以使用 int、timestamp、datetime 三种类型来存储,那么这三种类型哪一种用来存储时间性能比较高,效率好呢 ?
周三不加班
2019/08/19
7.1K0
SpringBoot 整合mybatis操作数据库
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Ordinary Java Object,普通的 Java对象)映射成数据库中的记录。
jwangkun
2021/12/23
3150
MyBatis初级实战之二:增删改查
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇要练习的内容如下: 单表的增删改查 批量新增 联表查询 全文由以下部分组成: 新建工程 增加启动类 增加swagger的配置类,工程包含了swagger,以便稍后在浏览器上验证 增加配置文件 增加实体类 增加mapper配置文件 增加mapper接口 增加service,调用mapper接口 增加controller,调用service服务 编写单元
程序员欣宸
2021/06/04
6590
MyBatis初级实战之二:增删改查
Springboot+Mybatis+MySql下,mysql使用json类型字段存取的处理
1、mysql5.7开始支持json类型字段; 2、mybatis暂不支持json类型字段的处理,需要自己做处理
stys35
2020/06/22
19.1K3
Springboot+Mybatis+MySql下,mysql使用json类型字段存取的处理
进阶!MyBatis-Plus(基于 Springboot 演示)
这一篇从一个入门的基本体验介绍,再到对于 CRUD 的一个详细介绍,在介绍过程中将涉及到的一些问题,例如逐渐策略,自动填充,乐观锁等内容说了一下,只选了一些重要的内容,还有一些没提及到,具体可以参考官网,简单的看完,其实会发现,如果遇到单表的 CRUD ,直接用 MP 肯定舒服,如果写多表,还是用 Mybatis 多点,毕竟直接写 SQL 会直观一点,MP 给我的感觉,就是方法封装了很多,还有一些算比较是用的插件,但是可读性会稍微差一点,不过个人有个人的看法哇
BWH_Steven
2020/10/10
6560
数据库时间慢了14个小时,Mybatis说,这个锅我不背~
同事反馈一个问题:Mybatis插入数据库的时间是昨天的,是不是因为生成Mybatis逆向工程生成的代码有问题?
程序新视界
2021/12/07
2.6K1
数据库时间慢了14个小时,Mybatis说,这个锅我不背~
SpringBoot (六) :如何优雅的使用 mybatis
这两天启动了一个新项目因为项目组成员一直都使用的是mybatis,虽然个人比较喜欢jpa这种极简的模式,但是为了项目保持统一性技术选型还是定了 mybatis。到网上找了一下关于spring boot和mybatis组合的相关资料,各种各样的形式都有,看的人心累,结合了mybatis的官方demo和文档终于找到了最简的两种模式,花了一天时间总结后分享出来。
前朝楚水
2018/07/26
4110
MySQL 时间类型 datetime、bigint、timestamp,选哪个?
本篇博客将深入讨论在MySQL数据库中选择合适的时间类型:datetime、bigint和timestamp。通过比较它们的特性和适用场景,您将更好地理解何时应该选择哪种时间类型,以满足不同的数据存储需求。
猫头虎
2024/04/07
2.4K0
mybatis异常invalid comparison: java.util.Date and java.lang.String
开发中改动mapper文件后需要重新编译发布, 由于工程比较大非常耗时, 所以为方便快速测试干脆写了一个小java工程. 工程中用到的dao, mapper和实体类都是从工程中拷出来的, 数据库也是同一个. 但是遇到一个比较奇怪的问题
全栈程序员站长
2022/09/13
6290
记一次Mybatis的查询异常
No constructor found in com.pagoda.qc.dto.output.WarehouseQualityOutPut matching
麋鹿大哥
2020/08/19
6840
Spring Boot入门系列(十九)集成mybatis
前面介绍了Spring Boot 整合mybatis 使用注解的方式实现数据库操作,介绍了如何自动生成注解版的mapper 和pojo类。接下来介绍使用mybatis 常用注解以及如何传参数等数据库操作中的常用操作。
架构师精进
2020/09/29
1.1K0
mybatis 与 mybatisplus 根据字符串时间进行查询数据
数据库中的时间字段是date类型或者其他时间类型,反正不是字符串类型,之前前端要根据时间进行查询,那么前端传的是字符串时间,数据库是date类型,那咋查询
一写代码就开心
2022/09/30
2.5K0
警告!别再使用 TIMESTAMP 作为日期字段~
点击上方蓝色字体,选择“设为星标” 回复”学习资料“获取学习宝典 来源:JAVA日知录 在日常数据库设计中,几乎每张业务表都带有一个日期列,用于记录每条记录产生和变更的时间。比如用户表会有一个日期列记录用户注册的时间、用户最后登录的时间。又比如,电商行业中的订单表(核心业务表)会有一个订单产生的时间列,当支付时间超过订单产生的时间,这个订单可能会被系统自动取消。 日期类型虽然常见,但在表结构设计中也容易犯错,比如很多开发同学都倾向使用整型存储日期类型,同时也会忽略不同日期类型对于性能可能存在的潜在影响。
猿天地
2022/03/24
1.1K0
推荐阅读
相关推荐
前端传字符串的开始时间和 结束时间,数据库时间字段是 timestamp,Java 代码如何写
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文