mybatis的xml日期范围查询



 <if test="param.startTime != null and param.startTime != '' and param.endTime != null and param.endTime != ''">

     <![CDATA[  and DATE_FORMAT(p.create_time, '%Y-%m-%d %H:%T:%s') >
                    DATE_FORMAT(#{param.startTime} , '%Y-%m-%d %H:%T:%s')    ]]>

      <![CDATA[  and DATE_FORMAT(p.create_time, '%Y-%m-%d %H:%T:%s') <=
                     DATE_FORMAT(#{param.endTime} , '%Y-%m-%d %H:%T:%s')    ]]>
</if>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MyBatis 中进行日期范围查询时,可以使用两个参数来表示日期范围,分别是开始时间和结束时间。通常情况下,这两个参数都是使用 Java 的 Date 类型来表示的。 例如,假设我们要查询在指定时间范围内的订单记录,可以使用如下的 SQL 语句: ```sql SELECT * FROM orders WHERE order_time BETWEEN #{startTime} AND #{endTime} ``` 在这个 SQL 语句中,#{startTime} 和 #{endTime} 分别表示开始时间和结束时间的参数。 在 MyBatis 的 Mapper.xml 文件中,我们可以定义对应的方法来调用这个 SQL 语句: ```xml <select id="getOrdersByTimeRange" resultType="Order"> SELECT * FROM orders WHERE order_time BETWEEN #{startTime} AND #{endTime} </select> ``` 在 Java 代码中,我们可以将开始时间和结束时间作为参数传递给这个方法: ```java Date startTime = new Date(2021, 1, 1); Date endTime = new Date(2021, 12, 31); List<Order> orders = mapper.getOrdersByTimeRange(startTime, endTime); ``` 在这个例子中,我们查询了 2021 年的订单记录。需要注意的是,这里的日期范围是包含开始时间和结束时间的,即查询结果中会包含开始时间和结束时间的订单记录。如果需要查询不包含开始时间和结束时间的订单记录,可以使用下面的 SQL 语句: ```sql SELECT * FROM orders WHERE order_time > #{startTime} AND order_time < #{endTime} ``` 或者使用下面的 SQL 语句: ```sql SELECT * FROM orders WHERE order_time >= #{startTime} AND order_time <= #{endTime} ``` 具体使用哪种 SQL 语句,可以根据实际需求来决定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值