当前使用版本

3.3.1.tmp 和 3.2.0 都使用过

当前代码

LambdaQueryWrapper queryWrapper = new QueryWrapper().lambda(); queryWrapper.eq(ApplyOrder::getApplyOrderId,executeOrderId) .eq(ApplyOrder::getItemId,"12312") .in(ApplyOrder::getStatus,"a") .or() .eq(ApplyOrder::getPatientName,"n") ; applyOrderService.getOne(queryWrapper); 生成sql: SELECT apply_order_id,apply_order_detail_id,patient_id,order_id,hospital_id,create_uid,update_uid,patient_name,apply_doctor_name,apply_doctor_id,item_name,item_id,count,remark,apply_time,apply_dept_name,apply_dept_id,cancel_reason,amount,status,create_date,update_date FROM t_apply_order WHERE (apply_order_id = ? AND item_id = ? AND status IN (?) OR patient_name = ?)

备注

3.1.2 版本中没有

Comment From: zxs-git

当使用 LambdaQueryWrapper queryWrapper = new QueryWrapper().lambda(); 方式时,就会有; 例如 1: SELECT create_uid,create_date,status FROM t_apply_order WHERE (hospital_id = ?) 例如2,当查询复杂时: SELECT create_date,status FROM t_execute_order WHERE ( (hospital_id = ?) ) AND status IN (?) AND ( (item_id IN (?,?)) ) ORDER BY consumer_date DESC , create_date DESC LIMIT ?,?

Comment From: zxs-git

3.1.2 版本 SELECT apply_order_id,status,create_date,update_date FROM t_apply_order WHERE apply_order_id = ? AND item_id = ? AND status IN (?) OR patient_name = ?

Comment From: miemieYaho

有什么问题?

Comment From: zxs-git

你好: 问题写在 #2221 了。 当前的版本,和测试代码有写在上面

------------------ 原始邮件 ------------------ 发件人: "miemieYaho"<notifications@github.com>; 发送时间: 2020年3月11日(星期三) 晚上6:02 收件人: "baomidou/mybatis-plus"<mybatis-plus@noreply.github.com>; 抄送: "薛啶鄂の貓"<1165418775@qq.com>;"Author"<author@noreply.github.com>; 主题: Re: [baomidou/mybatis-plus] 生成的sql 中有where 的 括号问题 (#2221)

有什么问题?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or unsubscribe.

Comment From: miemieYaho

sql有报错?

Comment From: zxs-git

不是: 3.2.0 版本 select* FROM t_apply_order WHERE (apply_order_id = ? AND item_id = ? AND status IN (?) OR patient_name = ?) 3.1.2版本 SELECT apply_order_id,status,create_date,update_date FROM t_apply_order WHERE apply_order_id = ? AND item_id = ? AND status IN (?) OR patient_name = ?

3.2.0 版本 在where 关键后紧跟着就有括号。

Comment From: miemieYaho

为了解决问题才加上的,有什么实质性的问题?

Comment From: zxs-git

这样的sql 不是感觉很怪吗

SELECT create_date,status FROM t_execute_order WHERE ( (hospital_id = ?) ) AND status IN (?) AND ( (item_id IN (?,?)) ) ORDER BY consumer_date DESC , create_date DESC LIMIT ?,?

Comment From: zxs-git

在排查问题的时候,不是也增加困难吗

Comment From: miemieYaho

有什么好困难的