Java的Mybatis中,以最简单的方式实现按年月日时分秒查询。

需求如下:
在这里插入图片描述

首先,传入的参数类型,要为Date类型。这里以实体类举例:

@Data
@EqualsAndHashCode(callSuper = true)
public class OutwardParams extends BaseEntity {
    
    

    @ApiModelProperty("被叫号码")
    private String calleeNum;

    @ApiModelProperty("部门Id")
    private Long deptId;
   
    @ApiModelProperty("开始时间")
    private Date beginDate;

    @ApiModelProperty("结束时间")
    private Date endDate;

    @ApiModelProperty("是否查询历史")
    private String isHistory;//    0:否    1:是
}

下面是重点,要将传入的变量参数,定义为JDBC的时间类型,类型为TIMESTAMP。
也就是 #{beginDate,jdbcType=TIMESTAMP}

    <select id="selectList" resultMap="baseResultMap">
        SELECT
        u.user_name,
        u.real_name,
        d.dept_name
        FROM call_record r
        WHERE  
         r.create_date <![CDATA[>=]]> #{beginDate,jdbcType=TIMESTAMP}
        and r.create_date <![CDATA[<=]]> #{endDate,jdbcType=TIMESTAMP}
     </select>

猜你喜欢

转载自blog.csdn.net/chinatopno1/article/details/123230844