1.oracle或者mysql数据库中,该日期字段以时间戳(TIMESTAMP)类型存储。
2.前端传到后台的starttime、endtime都是字符串;在mybatis的xml文件中,需要处理后进行比较。
3.mybatis的xml文件写法如下:
<if test="starttime !=null and starttime !=''">
<if test="_databaseId == 'oracle'">
<![CDATA[ and a.rtime >= to_date(#{starttime}, 'yyyy-mm-dd hh24:mi:ss') ]]>
</if>
<if test="_databaseId == 'mysql'">
<![CDATA[ and DATE_FORMAT(a.rtime, '%Y-%m-%d')>= DATE_FORMAT(#{starttime}, '%Y-%m-%d') ]]>
</if>
</if>
<if test="endtime !=null and endtime !=''">
<if test="_databaseId == 'oracle'">
<![CDATA[ and a.rtime <= to_date(#{endtime}, 'yyyy-mm-dd hh24:mi:ss') ]]>
</if>
<if test="_databaseId == 'mysql'">
<![CDATA[ and DATE_FORMAT(a.rtime, '%Y-%m-%d')>= DATE_FORMAT(#{endtime}, '%Y-%m-%d') ]]>
</if>
</if>