• 时间的问题总结


    要点

    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")

    心如止水,虚怀如谷
  • 相关阅读:
    asp.net读取/导入project(mpp)文件
    hdu2103
    hdu2100(大数加)
    hdu1406
    hdu1249
    hdu1038
    hdu2565
    hdu1203
    zoj3501
    hdu2102
  • 原文地址:https://www.cnblogs.com/junzifeng/p/15685693.html
Copyright © 2020-2023  润新知