当前使用版本(必填,否则不予处理)

3.4.2

该问题是如何引起的?(确定最新版也有问题再提!!!)

请问怎么合并两个QueryWrapper的查询条件? 如:现有queryWrapper1、queryWrapper2,怎么把这两个所有条件合并到 queryWrapper3?

重现步骤(如果有就写完整)

报错信息

Comment From: miemieYaho

不支持

Comment From: uyoung

如果只是想合并where条件可以尝试这个办法 java static <T> QueryWrapper<T> joinWhereSegment(boolean withOr, QueryWrapper<T>... wrappers) { QueryWrapper<T> query = new QueryWrapper<>(); for (QueryWrapper<T> wrapper : wrappers) { //注意,这里的or只是为了多一个括号,不是or操作 query.nested(mq -> mq.or().getExpression().getNormal().addAll(wrapper.getExpression().getNormal())); if (withOr) { query.or(); } } return query; }

Comment From: hoyo-Sammy

如果只是想合并where条件可以尝试这个办法 java static <T> QueryWrapper<T> joinWhereSegment(boolean withOr, QueryWrapper<T>... wrappers) { QueryWrapper<T> query = new QueryWrapper<>(); for (QueryWrapper<T> wrapper : wrappers) { //注意,这里的or只是为了多一个括号,不是or操作 query.nested(mq -> mq.or().getExpression().getNormal().addAll(wrapper.getExpression().getNormal())); if (withOr) { query.or(); } } return query; }

这个方法尝试过的。只能拼接where条件,不会把条件后的参数带过去