MybatisPlus 使用and和or 联查

 要求: and  大于开始时间, 

          and  小于结束(位于开始时间和结束时间之间),  

           and  (用户类型为0   or  或者类型为2  )

          按照创建时间排序

         一些等值的个别条件

 queryWrapper.and(wrapper -> wrapper.eq("user_type", "0")
                .or().eq("user_type", 0 == customerState ? 1 : 2));

 queryWrapper.and(wrapper -> wrapper.le("start_time", now))
                .and(wrapper -> wrapper.ge("end_time", now));

 queryWrapper.orderByDesc("create_time");

代码如上,,最终sql如下图!

SELECT
	* 
FROM
	tbl_coupon 
WHERE
	display =? 
	AND deleted = 0 
	AND ( ( user_type = ? OR user_type = ?) ) 
	AND ( ( start_time <= ?) ) 
	AND ( ( end_time >= ?) ) 
ORDER BY
	create_time DESC 
	LIMIT ?,?

and里面多了个括号,也不知道怎么搞的!嘿嘿,反正目前是实现了同时符合该业务需求!

各位大神,如有更佳方法,请指教!!!!!!!

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值