阅读(4747) (22)

MyBatis时间timestamp做条件进行查询

2020-09-09 17:10:33 更新

首先要将条件 转换为 时间戳

long startTime = TimeUtil.parseTimestamp(start);
long endTime = TimeUtil.parseTimestamp(end);
 
/*对应工具类*/
public static long parseTimestamp(String datetime){
    try{
	SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	Date date = dateformat.parse(datetime);
	return date.getTime()/1000;			
	}catch(Exception e){
	    e.printStackTrace();
	}
	return 0;
}

然后Mapper.xml中  使用BETWEEN and  和 to_timestamp

<if test="startDate !=null and startDate !='' and endDate !=null and endDate !=''">
            AND tdnm.create_time BETWEEN to_timestamp(#{startDate}) AND to_timestamp(#{endDate})
</if>