oracle/mysql + mybatis 关于时间段查询处理

来源:互联网 发布:合肥it 编辑:程序博客网 时间:2024/06/04 00:45

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>
0 0
原创粉丝点击