使用mybatis格式化查询出的日期

mybatis格式化查询出的日期

1、格式符说明

%Y:年 示例:2019

%m:月 示例:08

%d:日 示例:05

%H:时 示例:15

%I:分 示例:47

%S:秒 示例:56

2、使用示例

DATE_FORMAT(NOW(),'%Y-%m-%d %H:%I:%S')

格式化Mybatis返回的Date时间

在实体类的日期属性上添加

@JsonFormat和@DateTimeFormat注解。

import java.util.Date;
public class Test {
 @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date date;

    public void setDate(Date date){
        this.date = date;
    }
    public Date getDate(){
        return date;
    }
}

@DateTimeFormat注解用于指定从前台接受的时间字符串格式,若格式不对应则抛出异常。

@JsonFormat注解用于将Date日期格式化为指定格式的字符串。由于在序列化时间时是按照国际标准时间GMT进行格式化的,最后接受到的数据会早勒8个小时,所以应该添加timezone = "GMT+8"属性将时区设置为于国内相同的CST时区。

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

(0)

相关推荐

  • 详解Mybatis-plus中更新date类型数据遇到的坑

    最近一年的项目都是在使用Mybatis-plus,感觉挺好用的,也没遇到很多问题,但是在最近项目上线之后,遇到了一些新的需要,在进行新版本开发的时候就开始遇到坑了,今天来说一下更新数据中有date类型数据的时候会出现的问题. 实体类部分字段如下: @Data @Builder @NoArgsConstructor @AllArgsConstructor public class ProductPo implements Serializable { /** * 产品主键,自增 */ privat

  • 解决mybatis 数据库date 与 java中Date类型映射问题

    使用mybatis 从数据库中查询出date 类型字段,在java 类型中只看到了日期,没有看到时分秒, 从数据库中是可以看到时分秒的.后来发现是mybatis 映射数据类型的原因: 如: <result column="CREATEDATE" property="createdate" jdbcType="Date" /> 映射出来的时间格式时分秒都为0 (2017-01=12 00:00:00) <result column

  • Spring Boot LocalDateTime格式化处理的示例详解

    JDK8的新特性中Time API,其包括Clock.Duration.Instant.LocalDate.LocalTime.LocalDateTime.ZonedDateTime,在这里就不一一介绍了,相信很多人都会使用其代替Date及Calendar来处理日期时间,下面介绍Spring Boot处理LocalDateTime格式. Controller接收LocalDateTime参数 在Spring中,接收LocalDateTime日期时间数据时,只需要使用@DateTimeFormat

  • 使用mybatis格式化查询出的日期

    mybatis格式化查询出的日期 1.格式符说明 %Y:年 示例:2019 %m:月 示例:08 %d:日 示例:05 %H:时 示例:15 %I:分 示例:47 %S:秒 示例:56 2.使用示例 DATE_FORMAT(NOW(),'%Y-%m-%d %H:%I:%S') 格式化Mybatis返回的Date时间 在实体类的日期属性上添加 @JsonFormat和@DateTimeFormat注解. import java.util.Date; public class Test { @Dat

  • sqlserver中如何查询出连续日期记录的代码

    有在论坛上看到一帖,<请教查询出连续日期记录的方法>,截图如下: Insus.NET尝试写了程序并做了测试,可以得到预期的结果,SQL代码可参考和学习之用. 复制代码 代码如下: --创建一个临时表,将会存储连续日期的记录 CREATE TABLE #temp (IDD VARCHAR(10),SDATE DATETIME) DECLARE @sD DATETIME --开始日期 DECLARE @eD DATETIME --结束日期 --在记录中,找出开始与结束日期 SELECT @sD =

  • MyBatis将查询出的两列数据装配成键值对的操作方法

    目录 描述: 操作: 1. 实现 ResultHandler 接口 2. 对应 DAO 层 3. 使用 描述: MyBatis 直接查询出的格式是 List 套 Map 的结构,当然利用 Stream 流进行转换也非常便捷,但如果这样的操作很多的话,不如利用 MyBatis 提供的 ResultHandler 接口进行实现,做成工具类使用. 此外,如果用 MyBatis 提供的 @MapKey ,也只是对应值有冗余,因为 MapKey取一个字段为键,取出的所有字段为值. 操作: 1. 实现 Re

  • Mybatis如何按顺序查询出对应的数据字段

    目录 Mybatis按顺序查询出对应的数据字段 解决方法 Mybatis基本查询.条件查询.查询排序 Mybatis按顺序查询出对应的数据字段 今天遇到一个问题,就是写xml文件时,返回的顺序始终不一致,无论我sql语句写的如何好,前端接收到的数据都是乱的.终于,我发现到了原因. 原来我的查询返回resultType = "map"  , 也就是这个map, 打乱了顺序. 因为map 并不保证存入取出顺序一致, 因此,打乱顺序可想而知了. 解决方法 resultType = "

  • mybatis一对一查询功能

    所谓的一对一查询,就是说我们在查询一个表的数据的时候,需要关联查询其他表的数据. 需求 首先说一个使用一对一查询的小需求吧:假设我们在查询某一个订单的信息的时候,需要关联查询出创建这个订单对应的用户信息.表模型如下( ResultType sql语句的书写 首先,我们要对我们的需求进行分析.1.我们需要确定这个需求需要涉及到哪两张表,其中哪个是主表,哪个是关联表.具体怎么确定,还是看需求--我们的需求是说,在查询订单的时候,顺带着查出创建这个订单的用户.那么,已经很显然了.我们的主表是订单表(o

  • Mybatis模糊查询及自动映射实现详解

    这篇文章主要介绍了Mybatis模糊查询及自动映射实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Mybatis的模糊查询 1. 参数中直接加入%% 1 2 3 4 5 6 7 8 9 param.setUsername("%CD%"); param.setPassword("%11%"); <select id="selectPersons" resultType="p

  • Mybatis关联查询之一对多和多对一XML配置详解

    平时在开发过程中dao.bean和XML文件都是自动生成的,很少写XML的配置关系,今天记录一下mybatis的关联查询中的多对一和一对多的情况. 首先是有两张表(学生表Student和老师Teacher表,注:这里只是为了演示一对多和多对一的情况,请不要杠),为了更易懂,这里只设置了最简单的几个必要字段.表结构如下图 Student表: Teacher表: 创建实体bean Teacher.java: import java.util.List; public class Teacher {

  • 一次mybatis连接查询遇到的坑实战记录

    前言 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL.存储过程以及高级映射.本文主要介绍的是mybatis连接查询遇到的一个坑以及解决方法,下面话不多说了,来一起看看详细的介绍吧 1.遇到的问题: 通过角色ID获取role_menu表中对应的菜单id,再通过菜单id获取菜单项的权限编码 , 使用mybatis连接查询,代码如下 // SysRoleMapper // 通过菜单id连接查询对应的权限编码 @Select("select menu_id from sys_role_me

  • mybatis in查询传入String方式

    mybatis in查询传入String 在使用 mybaits 进行 in 查询时,传入String,如1,2,3,发现查询的结果并非我们想要的 这是因为#{}编译完自动加双引号"" 也就是变成in ("1,2,3") 如果想要获得我们想要的结果,可以使用${},编译完是这样的 in (1,2,3) 例如,查询铃音库中多首铃音的总数量 <select id="getProgsResourceCount" resultType="

  • mybatis in查询条件过长的解决方案

    目录 mybatis in查询条件过长的解决 方法1:分次查询,将参数且分割成多个短的查询后合并 方法2:xml文件中编写sql mybatis大于1000的in查询的解决 论证如下 解决办法 mybatis in查询条件过长的解决 方法1:分次查询,将参数且分割成多个短的查询后合并 代码: int splitNum =(int) Math.ceil( (float) ids.length/999); //切片数量 List<String> itemIdList = new ArrayList

随机推荐