关于mybatis返回前端日期格式化问题

举报
bigsai 发表于 2021/02/03 01:49:36 2021/02/03
【摘要】 前言 使用mybatis难免会碰到返回时间类的问题。这里简单记录下学习总结。 现状 如果什么都不做,那么返回的类型 这个样式肯定不算我们想要的结果,但是先细想一下怎么处理,不至于在前端一堆js,后端遍历list去完成吧,肯定有解决的好办法吧。 解决 对于pojo对象 直接在pojo对象中加入过滤即可 import com.fasterxml.jack...

前言

使用mybatis难免会碰到返回时间类的问题。这里简单记录下学习总结。

现状

如果什么都不做,那么返回的类型

在这里插入图片描述
这个样式肯定不算我们想要的结果,但是先细想一下怎么处理,不至于在前端一堆js,后端遍历list去完成吧,肯定有解决的好办法吧。

解决

对于pojo对象

直接在pojo对象中加入过滤即可

 import com.fasterxml.jackson.annotation.JsonFormat;
 ---
 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
 private Date createtime;

  
 
  • 1
  • 2
  • 3
  • 4

以来jackson包,但现在基本都支持这个包,你也可以使用fastjson来处理。这样返回的数据就能满足要求

在这里插入图片描述

对于自定义map

可能有很多场景是通过自定义的map返回,比如一些关联查询,可能没有作多级联合,在sql中使用的简单的关联查询,对于这种情况,返回的类型和pojo类无关,需要我们在sql语句中进行处理。

@Select("select e.name,d.* from(SELECT a.`no`,a.classID,a.studentno,b.ID scoreid,b.score," 
 "DATE_FORMAT(b.time,'%Y-%m-%d %h:%m:%s') as time,b.note " 
 "from studentclass a " 
 "LEFT JOIN score b " 
 "on a.studentno=b.studentno " 
 "and b.jobID=#{jobid} " 
 "where a.classID =(SELECT teachclassid FROM job WHERE ID=#{jobid}) " 
 "ORDER BY a.`no` asc)d,student e " 
 "WHERE d.studentno=e.studentno")
 List getscorebyjobid(int jobid);

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

在这里插入图片描述
就是格式化日期的代码。同理,如果插入的代码string格式不对,你可以使用java的date类simpledateformat转换成date也可以直接根据格式转换,这里就不具体介绍。经过这样的转换,我们就能拿到想要的格式。
在这里插入图片描述
这样就能解决大部分的场景需求。如果日后遇到其他处理方式,会进行补充。如有错误,会进行更正!

如果对后端、爬虫、数据结构算法等感性趣欢迎关注我的个人公众号交流:bigsai

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

原文链接:bigsai.blog.csdn.net/article/details/89554146

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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