mirror of
https://gitee.com/best_handsome/mybatis-plus-join
synced 2025-07-11 00:02:22 +08:00
子查询添加union
This commit is contained in:
parent
4401ad8ca6
commit
0353f972e7
@ -45,6 +45,7 @@ public class WrapperUtils implements StringPool {
|
||||
String sqlSegment = (wrapper.getSqlSegment() != null && StrUtils.isNotBlank(wrapper.getSqlSegment())) ?
|
||||
((wrapper.isEmptyOfNormal() ? EMPTY : (hasWhere ? " AND " : " WHERE ")) + wrapper.getSqlSegment()) : EMPTY;
|
||||
String sqlComment = Optional.ofNullable(wrapper.getSqlComment()).orElse(EMPTY);
|
||||
String sqlUnion = wrapper.getUnionSql();
|
||||
StringBuilder sb = new StringBuilder(SPACE)
|
||||
.append(first)
|
||||
.append(" SELECT ")
|
||||
@ -63,6 +64,8 @@ public class WrapperUtils implements StringPool {
|
||||
.append(sqlSegment)
|
||||
.append(SPACE)
|
||||
.append(sqlComment)
|
||||
.append(SPACE)
|
||||
.append(sqlUnion)
|
||||
.append(SPACE);
|
||||
if (brackets) {
|
||||
sb.insert(0, "(").append(")");
|
||||
|
@ -43,4 +43,32 @@ public class FromTest {
|
||||
.ge(UserDO::getId, 0));
|
||||
wrapper.list();
|
||||
}
|
||||
|
||||
@Test
|
||||
void from1() {
|
||||
ThreadLocalUtils.set("""
|
||||
SELECT
|
||||
t.id, t.pid, t.`name`, t.`json`, t.sex, t.head_img, t.create_time,
|
||||
t.address_id, t.address_id2, t.del, t.create_by, t.update_by
|
||||
FROM (SELECT
|
||||
t.id, t.pid, t.`name`, t.`json`, t.sex, t.head_img, t.create_time,
|
||||
t.address_id, t.address_id2, t.del, t.create_by, t.update_by
|
||||
FROM `user` t
|
||||
WHERE t.del = false AND (t.id >= ?)
|
||||
UNION ALL
|
||||
(SELECT
|
||||
t.id, t.pid, t.`name`, t.`json`, t.sex, t.head_img, t.create_time,
|
||||
t.address_id, t.address_id2, t.del, t.create_by, t.update_by
|
||||
FROM `user` t
|
||||
WHERE t.del = false)) t
|
||||
WHERE t.del = false
|
||||
""");
|
||||
MPJLambdaWrapper<UserDO> wrapper = JoinWrappers.lambda(UserDO.class)
|
||||
.selectAll()
|
||||
.from(from -> from
|
||||
.selectAll()
|
||||
.ge(UserDO::getId, 0)
|
||||
.unionAll(UserDO.class, MPJLambdaWrapper::selectAll));
|
||||
wrapper.list();
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user