mybatisplus mysql区间查询
时间: 2023-10-02 07:13:53 浏览: 61
在batisPlus中使用MySQL进行区间查询可以使用ge()和le()方法。ge()表示大于等于,le()表示小于等于。以下是一个示例代码:
```
QueryWrapper<ReportOrder> wrapper = new QueryWrapper<>();
wrapper.ge("DELIVERY_DATE", query.getDeliveryDateStart());
wrapper.le("DELIVERY_DATE", query.getDeliveryDateEnd());
wrapper.ge("ORDER_DATE", query.getOrderDateStart());
wrapper.le("ORDER_DATE", query.getOrderDateEnd());
```
这段代码将使用ge()方法设置DELIVERY_DATE和ORDER_DATE字段的起始日期条件,使用le()方法设置结束日期条件。注意,这个示例是针对MySQL数据库的。
对于Oracle数据库,需要使用to_date('date','fmt')函数来处理日期条件。以下是一个示例代码:
```
QueryWrapper<ReportOrder> wrapper = new QueryWrapper<>();
wrapper.apply("DELIVERY_DATE >= TO_DATE({0},'yyyy-MM-dd')", query.getDeliveryDateStart());
wrapper.apply("DELIVERY_DATE <= TO_DATE({0},'yyyy-MM-dd')", query.getDeliveryDateEnd());
wrapper.apply("ORDER_DATE >= TO_DATE({0},'yyyy-MM-dd')", query.getOrderDateStart());
wrapper.apply("ORDER_DATE <= TO_DATE({0},'yyyy-MM-dd')", query.getOrderDateEnd());
```
这段代码使用apply()方法来自定义SQL语句,并通过TO_DATE函数将日期字符串转换为日期类型。在apply()方法中的{0}会被替换为query中对应的日期参数。
请注意,以上代码片段只是示例,具体的使用方法需要根据你的实际情况进行调整和修改。