313 Star 2K Fork 841

卓源软件 / JeeSite Spring Cloud

 / 详情

sqlMap动态拼接sql失效

已完成
创建于  
2023-04-26 09:06

该问题是怎么引起的?

使用jeeStie Spring Cloud v5.3版本后

重现步骤

尝试代码1:

Office parentOffice = EmpUtils.getOffice("1478");
Office where = new Office();
where.sqlMap().getWhere().andBracket("office_code", QueryType.EQ, parentOffice.getOfficeCode(), 1).or("parent_codes", QueryType.RIGHT_LIKE, parentOffice.getParentCodes()+parentOffice.getOfficeCode(), 2).endBracket();
List<Office> list = officeService.findList(where);

尝试代码2:

Office parentOffice = EmpUtils.getOffice("1478");
Office where = new Office();
where.sqlMap().getWhere()
                      .and((w) -> w
			   .or("office_code", QueryType.EQ, parentOffice.getOfficeCode(), 2)
			   .or("parent_codes", QueryType.RIGHT_LIKE, parentOffice.getParentCodes()+parentOffice.getOfficeCode(), 3));
List<Office> list = officeService.findList(where);

报错信息

两端代码均不生效,查询结果均为所有数据

评论 (3)

peter 创建了任务
peter 修改了描述
peter 修改了描述
展开全部操作日志

parentOffice.getOfficeCode() 非空吗 ?日志里的语句发下

输入图片说明
看这个生成的语句,和你写的是相符的,下面这个2个条件,在sql里面都有,没有看出来问题呢:

.or("office_code", QueryType.EQ, parentOffice.getOfficeCode(), 2)
.or("parent_codes", QueryType.RIGHT_LIKE, parentOffice.getParentCodes()+parentOffice.getOfficeCode(), 3));
卓源软件 任务状态待办的 修改为已完成

登录 后才可以发表评论

状态
负责人
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
参与者(2)
6732 thinkgem 1651893329
Java
1
https://gitee.com/thinkgem/jeesite-cloud.git
git@gitee.com:thinkgem/jeesite-cloud.git
thinkgem
jeesite-cloud
JeeSite Spring Cloud

搜索帮助

53164aa7 5694891 3bd8fe86 5694891