zoukankan      html  css  js  c++  java
  • 时间的问题总结

    要点

    1、数据库时间,实体和Mybatis数据类型之间的对应关系
    2、前端传日期还是字符串
    3、时间格式化(用注解的方式如何去写,出参、入参如何格式化?)
    4、大于、小于在Mybatis中如何写

    code

    实体中的写法

        /**
    	* 创建时间
    	*/
    	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
        private Date createTime;
    	
    	/**
    	* 更新时间
    	*/
    	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
        private Date updateTime;
    	
    

    在Mapper.xml 中

     <select id="query" resultMap="departmentMap">
         SELECT  *  FROM department where 1=1 
         <if test="createTime !=null">
         AND create_time = #{createTime}
         </if>
         <if test="updateTime !=null">
         AND update_time = #{updateTime}
         </if>     
      </select>
    

    或者

    <select id="query" resultMap="departmentMap">
         SELECT  *  FROM department where 1=1 
        <if test="endTime != null">
         AND PREPARATION_TIME <![CDATA[<=]]> #{endTime}
        </if>
        <if test="startTime != null">
             AND PREPARATION_TIME <![CDATA[>=]]> #{startTime}
        </if>
      </select>
    

    总结

    1、时间一般是范围查询,前端传时间类型比较好,可以直接比较

    2、实体写Date类型,xml层直接进行比较或赋值。

    3、数据类型:数据库datetime ,实体Date,Mybatis的映射ResultMap 中可以省略时间类型

    4、格式化: 入参格式化,@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") 前端传的是字符串
    出参格式化,@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")

    心如止水,虚怀如谷
  • 相关阅读:
    CodeForcesGym 100524A Astronomy Problem
    ZOJ 2567 Trade
    HDU 3157 Crazy Circuits
    CodeForcesGym 100212E Long Dominoes
    UVALive 6507 Passwords
    [转]
    java socket
    Spark RDD Operations(2)
    Spark cache 和 persist
    vim 基础命令
  • 原文地址:https://www.cnblogs.com/junzifeng/p/15685693.html
Copyright © 2011-2022 走看看