mirror of
https://gitee.com/best_handsome/mybatis-plus-join
synced 2025-07-11 00:02:22 +08:00
代码调整
This commit is contained in:
parent
cc1b03ad3c
commit
026c64ee59
@ -8,7 +8,7 @@ import com.github.yulichang.kt.interfaces.Query;
|
|||||||
import com.github.yulichang.kt.interfaces.QueryLabel;
|
import com.github.yulichang.kt.interfaces.QueryLabel;
|
||||||
import com.github.yulichang.toolkit.Constant;
|
import com.github.yulichang.toolkit.Constant;
|
||||||
import com.github.yulichang.toolkit.KtUtils;
|
import com.github.yulichang.toolkit.KtUtils;
|
||||||
import com.github.yulichang.toolkit.KtwWrapperUtils;
|
import com.github.yulichang.toolkit.KtWrapperUtils;
|
||||||
import com.github.yulichang.toolkit.TableList;
|
import com.github.yulichang.toolkit.TableList;
|
||||||
import com.github.yulichang.toolkit.support.ColumnCache;
|
import com.github.yulichang.toolkit.support.ColumnCache;
|
||||||
import com.github.yulichang.wrapper.interfaces.Chain;
|
import com.github.yulichang.wrapper.interfaces.Chain;
|
||||||
@ -203,7 +203,7 @@ public class KtLambdaWrapper<T> extends KtAbstractLambdaWrapper<T, KtLambdaWrapp
|
|||||||
wrapper.alias = st;
|
wrapper.alias = st;
|
||||||
wrapper.subTableAlias = st;
|
wrapper.subTableAlias = st;
|
||||||
consumer.accept(wrapper);
|
consumer.accept(wrapper);
|
||||||
String sql = KtwWrapperUtils.buildSubSqlByWrapper(clazz, wrapper, alias.getName());
|
String sql = KtWrapperUtils.buildSubSqlByWrapper(clazz, wrapper, alias.getName());
|
||||||
this.selectColumns.add(new SelectString(sql, hasAlias, this.alias));
|
this.selectColumns.add(new SelectString(sql, hasAlias, this.alias));
|
||||||
return typedThis;
|
return typedThis;
|
||||||
}
|
}
|
||||||
@ -218,7 +218,7 @@ public class KtLambdaWrapper<T> extends KtAbstractLambdaWrapper<T, KtLambdaWrapp
|
|||||||
Class<?> entityClass = wrapper.getEntityClass();
|
Class<?> entityClass = wrapper.getEntityClass();
|
||||||
Assert.notNull(entityClass, "请使用 new MPJLambdaWrapper(主表.class) 或 JoinWrappers.lambda(主表.class) 构造方法");
|
Assert.notNull(entityClass, "请使用 new MPJLambdaWrapper(主表.class) 或 JoinWrappers.lambda(主表.class) 构造方法");
|
||||||
sb.append(" UNION ")
|
sb.append(" UNION ")
|
||||||
.append(KtwWrapperUtils.buildUnionSqlByWrapper(entityClass, wrapper));
|
.append(KtWrapperUtils.buildUnionSqlByWrapper(entityClass, wrapper));
|
||||||
}
|
}
|
||||||
if (Objects.isNull(unionSql)) {
|
if (Objects.isNull(unionSql)) {
|
||||||
unionSql = SharedString.emptyString();
|
unionSql = SharedString.emptyString();
|
||||||
@ -237,7 +237,7 @@ public class KtLambdaWrapper<T> extends KtAbstractLambdaWrapper<T, KtLambdaWrapp
|
|||||||
Class<?> entityClass = wrapper.getEntityClass();
|
Class<?> entityClass = wrapper.getEntityClass();
|
||||||
Assert.notNull(entityClass, "请使用 new MPJLambdaWrapper(主表.class) 或 JoinWrappers.lambda(主表.class) 构造方法");
|
Assert.notNull(entityClass, "请使用 new MPJLambdaWrapper(主表.class) 或 JoinWrappers.lambda(主表.class) 构造方法");
|
||||||
sb.append(" UNION ALL ")
|
sb.append(" UNION ALL ")
|
||||||
.append(KtwWrapperUtils.buildUnionSqlByWrapper(entityClass, wrapper));
|
.append(KtWrapperUtils.buildUnionSqlByWrapper(entityClass, wrapper));
|
||||||
}
|
}
|
||||||
if (Objects.isNull(unionSql)) {
|
if (Objects.isNull(unionSql)) {
|
||||||
unionSql = SharedString.emptyString();
|
unionSql = SharedString.emptyString();
|
||||||
|
@ -12,6 +12,7 @@ import java.util.Arrays;
|
|||||||
* @author yulichang
|
* @author yulichang
|
||||||
* @since 1.4.6
|
* @since 1.4.6
|
||||||
*/
|
*/
|
||||||
|
@SuppressWarnings("unused")
|
||||||
public class FuncArgs {
|
public class FuncArgs {
|
||||||
|
|
||||||
public SelectFunc.Arg[] accept(KProperty<?>... kProperty) {
|
public SelectFunc.Arg[] accept(KProperty<?>... kProperty) {
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
package com.github.yulichang.toolkit;
|
package com.github.yulichang.toolkit;
|
||||||
|
|
||||||
import com.github.yulichang.kt.KtDeleteJoinWrapper;
|
|
||||||
import com.github.yulichang.kt.KtLambdaWrapper;
|
|
||||||
import com.github.yulichang.kt.KtUpdateJoinWrapper;
|
|
||||||
import com.github.yulichang.query.MPJQueryWrapper;
|
import com.github.yulichang.query.MPJQueryWrapper;
|
||||||
import com.github.yulichang.wrapper.DeleteJoinWrapper;
|
import com.github.yulichang.wrapper.DeleteJoinWrapper;
|
||||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||||
@ -105,74 +102,4 @@ public class JoinWrappers {
|
|||||||
public static <T> UpdateJoinWrapper<T> update(String alias, Class<T> clazz) {
|
public static <T> UpdateJoinWrapper<T> update(String alias, Class<T> clazz) {
|
||||||
return new UpdateJoinWrapper<>(clazz, alias);
|
return new UpdateJoinWrapper<>(clazz, alias);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* JoinWrappers.kt(User.class)
|
|
||||||
*/
|
|
||||||
public static <T> KtLambdaWrapper<T> kt(Class<T> clazz) {
|
|
||||||
return new KtLambdaWrapper<>(clazz);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* JoinWrappers.kt("t", User.class)
|
|
||||||
*/
|
|
||||||
public static <T> KtLambdaWrapper<T> kt(String alias, Class<T> clazz) {
|
|
||||||
return new KtLambdaWrapper<>(clazz, alias);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* JoinWrappers.kt(user)
|
|
||||||
*/
|
|
||||||
public static <T> KtLambdaWrapper<T> kt(T entity) {
|
|
||||||
return new KtLambdaWrapper<>(entity);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* JoinWrappers.kt("t", user)
|
|
||||||
*/
|
|
||||||
public static <T> KtLambdaWrapper<T> kt(String alias, T entity) {
|
|
||||||
return new KtLambdaWrapper<>(entity, alias);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* JoinWrappers.ktUpdate(User.class)
|
|
||||||
*/
|
|
||||||
public static <T> KtUpdateJoinWrapper<T> ktUpdate(Class<T> clazz) {
|
|
||||||
return new KtUpdateJoinWrapper<>(clazz);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* JoinWrappers.ktUpdate("t", User.class)
|
|
||||||
*/
|
|
||||||
public static <T> KtUpdateJoinWrapper<T> ktUpdate(String alias, Class<T> clazz) {
|
|
||||||
return new KtUpdateJoinWrapper<>(clazz, alias);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* JoinWrappers.ktUpdate(user)
|
|
||||||
*/
|
|
||||||
public static <T> KtUpdateJoinWrapper<T> ktUpdate(T entity) {
|
|
||||||
return new KtUpdateJoinWrapper<>(entity);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* JoinWrappers.ktUpdate("t", user)
|
|
||||||
*/
|
|
||||||
public static <T> KtUpdateJoinWrapper<T> ktUpdate(String alias, T entity) {
|
|
||||||
return new KtUpdateJoinWrapper<>(entity, alias);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* JoinWrappers.ktDelete(User.class)
|
|
||||||
*/
|
|
||||||
public static <T> KtDeleteJoinWrapper<T> ktDelete(Class<T> clazz) {
|
|
||||||
return new KtDeleteJoinWrapper<>(clazz);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* JoinWrappers.ktUpdate("t", User.class)
|
|
||||||
*/
|
|
||||||
public static <T> KtDeleteJoinWrapper<T> ktDelete(String alias, Class<T> clazz) {
|
|
||||||
return new KtDeleteJoinWrapper<>(clazz, alias);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -16,8 +16,9 @@ import java.util.Optional;
|
|||||||
* @author yulichang
|
* @author yulichang
|
||||||
* @since 1.4.6
|
* @since 1.4.6
|
||||||
*/
|
*/
|
||||||
public class KtwWrapperUtils {
|
public class KtWrapperUtils {
|
||||||
|
|
||||||
|
@SuppressWarnings("DuplicatedCode")
|
||||||
public static String buildSubSqlByWrapper(Class<?> clazz, KtLambdaWrapper<?> wrapper, String alias) {
|
public static String buildSubSqlByWrapper(Class<?> clazz, KtLambdaWrapper<?> wrapper, String alias) {
|
||||||
TableInfo tableInfo = TableHelper.get(clazz);
|
TableInfo tableInfo = TableHelper.get(clazz);
|
||||||
Asserts.hasTable(tableInfo, clazz);
|
Asserts.hasTable(tableInfo, clazz);
|
||||||
@ -52,6 +53,7 @@ public class KtwWrapperUtils {
|
|||||||
alias);
|
alias);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("DuplicatedCode")
|
||||||
public static String buildUnionSqlByWrapper(Class<?> clazz, KtLambdaWrapper<?> wrapper) {
|
public static String buildUnionSqlByWrapper(Class<?> clazz, KtLambdaWrapper<?> wrapper) {
|
||||||
TableInfo tableInfo = TableHelper.get(clazz);
|
TableInfo tableInfo = TableHelper.get(clazz);
|
||||||
Asserts.hasTable(tableInfo, clazz);
|
Asserts.hasTable(tableInfo, clazz);
|
||||||
@ -92,6 +94,7 @@ public class KtwWrapperUtils {
|
|||||||
return SqlScriptUtils.safeParam(paramStr, null);
|
return SqlScriptUtils.safeParam(paramStr, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("DuplicatedCode")
|
||||||
private static String getEntitySql(TableInfo tableInfo, KtLambdaWrapper<?> wrapper) {
|
private static String getEntitySql(TableInfo tableInfo, KtLambdaWrapper<?> wrapper) {
|
||||||
Object obj = wrapper.getEntity();
|
Object obj = wrapper.getEntity();
|
||||||
if (Objects.isNull(obj)) {
|
if (Objects.isNull(obj)) {
|
@ -0,0 +1,83 @@
|
|||||||
|
package com.github.yulichang.toolkit;
|
||||||
|
|
||||||
|
import com.github.yulichang.kt.KtDeleteJoinWrapper;
|
||||||
|
import com.github.yulichang.kt.KtLambdaWrapper;
|
||||||
|
import com.github.yulichang.kt.KtUpdateJoinWrapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author yulichang
|
||||||
|
* @since 1.4.6
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("unused")
|
||||||
|
public final class KtWrappers {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* KtWrappers.kt(User.class)
|
||||||
|
*/
|
||||||
|
public static <T> KtLambdaWrapper<T> query(Class<T> clazz) {
|
||||||
|
return new KtLambdaWrapper<>(clazz);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* KtWrappers.kt("t", User.class)
|
||||||
|
*/
|
||||||
|
public static <T> KtLambdaWrapper<T> query(String alias, Class<T> clazz) {
|
||||||
|
return new KtLambdaWrapper<>(clazz, alias);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* KtWrappers.kt(user)
|
||||||
|
*/
|
||||||
|
public static <T> KtLambdaWrapper<T> query(T entity) {
|
||||||
|
return new KtLambdaWrapper<>(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* KtWrappers.kt("t", user)
|
||||||
|
*/
|
||||||
|
public static <T> KtLambdaWrapper<T> query(String alias, T entity) {
|
||||||
|
return new KtLambdaWrapper<>(entity, alias);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* KtWrappers.ktUpdate(User.class)
|
||||||
|
*/
|
||||||
|
public static <T> KtUpdateJoinWrapper<T> update(Class<T> clazz) {
|
||||||
|
return new KtUpdateJoinWrapper<>(clazz);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* KtWrappers.ktUpdate("t", User.class)
|
||||||
|
*/
|
||||||
|
public static <T> KtUpdateJoinWrapper<T> update(String alias, Class<T> clazz) {
|
||||||
|
return new KtUpdateJoinWrapper<>(clazz, alias);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* KtWrappers.ktUpdate(user)
|
||||||
|
*/
|
||||||
|
public static <T> KtUpdateJoinWrapper<T> update(T entity) {
|
||||||
|
return new KtUpdateJoinWrapper<>(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* KtWrappers.ktUpdate("t", user)
|
||||||
|
*/
|
||||||
|
public static <T> KtUpdateJoinWrapper<T> update(String alias, T entity) {
|
||||||
|
return new KtUpdateJoinWrapper<>(entity, alias);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* KtWrappers.ktDelete(User.class)
|
||||||
|
*/
|
||||||
|
public static <T> KtDeleteJoinWrapper<T> delete(Class<T> clazz) {
|
||||||
|
return new KtDeleteJoinWrapper<>(clazz);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* KtWrappers.ktUpdate("t", User.class)
|
||||||
|
*/
|
||||||
|
public static <T> KtDeleteJoinWrapper<T> delete(String alias, Class<T> clazz) {
|
||||||
|
return new KtDeleteJoinWrapper<>(clazz, alias);
|
||||||
|
}
|
||||||
|
}
|
@ -521,11 +521,12 @@ class LambdaWrapperTest {
|
|||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
void testObj() {
|
void testObj() {
|
||||||
ThreadLocalUtils.set("SELECT DISTINCT t1.id FROM `user` t LEFT JOIN `user` t1 ON (t1.pid = t.id) WHERE t.del=false AND t1.del=false");
|
ThreadLocalUtils.set("SELECT DISTINCT t.id FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) WHERE t.del=false AND t1.del=false ORDER BY t.id DESC");
|
||||||
MPJLambdaWrapper<UserDO> wrapper = new MPJLambdaWrapper<UserDO>()
|
MPJLambdaWrapper<UserDO> wrapper = new MPJLambdaWrapper<UserDO>()
|
||||||
.distinct()
|
.distinct()
|
||||||
.select(UserDO::getId)
|
.select(UserDO::getId)
|
||||||
.leftJoin(UserDO.class, UserDO::getPid, UserDO::getId);
|
.leftJoin(AddressDO.class, AddressDO::getUserId, UserDO::getId)
|
||||||
|
.orderByDesc(UserDO::getId);
|
||||||
List<Object> list = userMapper.selectObjs(wrapper);
|
List<Object> list = userMapper.selectObjs(wrapper);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.jetbrains.kotlin</groupId>
|
<groupId>org.jetbrains.kotlin</groupId>
|
||||||
<artifactId>kotlin-test</artifactId>
|
<artifactId>kotlin-test-junit</artifactId>
|
||||||
<version>1.8.21</version>
|
<version>1.8.21</version>
|
||||||
<scope>test</scope>
|
<scope>test</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
@ -15,7 +15,7 @@ import com.github.yulichang.test.kt.mapper.UserDTOMapper
|
|||||||
import com.github.yulichang.test.kt.mapper.UserMapper
|
import com.github.yulichang.test.kt.mapper.UserMapper
|
||||||
import com.github.yulichang.test.util.Reset
|
import com.github.yulichang.test.util.Reset
|
||||||
import com.github.yulichang.test.util.ThreadLocalUtils
|
import com.github.yulichang.test.util.ThreadLocalUtils
|
||||||
import com.github.yulichang.toolkit.JoinWrappers
|
import com.github.yulichang.toolkit.KtWrappers
|
||||||
import org.junit.jupiter.api.BeforeEach
|
import org.junit.jupiter.api.BeforeEach
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
import org.springframework.beans.factory.annotation.Autowired
|
import org.springframework.beans.factory.annotation.Autowired
|
||||||
@ -32,10 +32,7 @@ import java.util.*
|
|||||||
* <p>
|
* <p>
|
||||||
* 移除了mybatis-plus 逻辑删除支持,逻辑删除需要在连表查询时自己添加对应的条件
|
* 移除了mybatis-plus 逻辑删除支持,逻辑删除需要在连表查询时自己添加对应的条件
|
||||||
*/
|
*/
|
||||||
@Suppress(
|
@Suppress("all")
|
||||||
"all", "unused", "UNUSED_VARIABLE", "PLATFORM_CLASS_MAPPED_TO_KOTLIN",
|
|
||||||
"SpringJavaInjectionPointsAutowiringInspection"
|
|
||||||
)
|
|
||||||
@SpringBootTest
|
@SpringBootTest
|
||||||
class LambdaWrapperTest {
|
class LambdaWrapperTest {
|
||||||
@Autowired
|
@Autowired
|
||||||
@ -91,7 +88,7 @@ class LambdaWrapperTest {
|
|||||||
" AND (t.id <= ?)\n" +
|
" AND (t.id <= ?)\n" +
|
||||||
"ORDER BY t.id DESC"
|
"ORDER BY t.id DESC"
|
||||||
)
|
)
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.selectCollection(AddressDO::class.java, UserDTO::addressList) { addr ->
|
.selectCollection(AddressDO::class.java, UserDTO::addressList) { addr ->
|
||||||
addr.association(AreaDO::class.java, AddressDTO::area)
|
addr.association(AreaDO::class.java, AddressDTO::area)
|
||||||
@ -128,7 +125,7 @@ class LambdaWrapperTest {
|
|||||||
" AND (t.id <= ?)\n" +
|
" AND (t.id <= ?)\n" +
|
||||||
"ORDER BY t.id DESC"
|
"ORDER BY t.id DESC"
|
||||||
)
|
)
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.selectCollection(AddressDO::class.java, UserDTO::addressIds) { e ->
|
.selectCollection(AddressDO::class.java, UserDTO::addressIds) { e ->
|
||||||
e.id(AddressDO::id)
|
e.id(AddressDO::id)
|
||||||
@ -177,7 +174,7 @@ class LambdaWrapperTest {
|
|||||||
" AND t2.del = false\n" +
|
" AND t2.del = false\n" +
|
||||||
"ORDER BY t.id DESC"
|
"ORDER BY t.id DESC"
|
||||||
)
|
)
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.selectCollection(AddressDO::class.java, UserDTO::addressList) { addr ->
|
.selectCollection(AddressDO::class.java, UserDTO::addressList) { addr ->
|
||||||
addr.association(AreaDO::class.java, AddressDTO::area)
|
addr.association(AreaDO::class.java, AddressDTO::area)
|
||||||
@ -205,7 +202,7 @@ class LambdaWrapperTest {
|
|||||||
" AND t2.del = false"
|
" AND t2.del = false"
|
||||||
)
|
)
|
||||||
//基本数据类型 和 String
|
//基本数据类型 和 String
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.select(UserDO::id)
|
.select(UserDO::id)
|
||||||
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
||||||
.leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId)
|
.leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId)
|
||||||
@ -223,7 +220,7 @@ class LambdaWrapperTest {
|
|||||||
" AND t2.del = false"
|
" AND t2.del = false"
|
||||||
)
|
)
|
||||||
//java.sql包下的类
|
//java.sql包下的类
|
||||||
val wrapper1: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper1: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.select(UserDO::createTime)
|
.select(UserDO::createTime)
|
||||||
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
||||||
.leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId)
|
.leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId)
|
||||||
@ -256,7 +253,7 @@ class LambdaWrapperTest {
|
|||||||
)
|
)
|
||||||
val user = UserDO()
|
val user = UserDO()
|
||||||
user.id = 1
|
user.id = 1
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(user)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(user)
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.le(UserDO::id, 100)
|
.le(UserDO::id, 100)
|
||||||
.orderByAsc(UserDO::id, UserDO::name)
|
.orderByAsc(UserDO::id, UserDO::name)
|
||||||
@ -283,7 +280,7 @@ class LambdaWrapperTest {
|
|||||||
" AND uc.del = false\n" +
|
" AND uc.del = false\n" +
|
||||||
" AND (ua.id <= ? AND ub.id >= ?)"
|
" AND (ua.id <= ? AND ub.id >= ?)"
|
||||||
)
|
)
|
||||||
val wrapper: KtLambdaWrapper<UserDto> = JoinWrappers.kt("tt", UserDto::class.java)
|
val wrapper: KtLambdaWrapper<UserDto> = KtWrappers.query("tt", UserDto::class.java)
|
||||||
.selectAll(UserDto::class.java)
|
.selectAll(UserDto::class.java)
|
||||||
.leftJoin(UserDO::class.java, "ua", UserDO::id, UserDto::userId) { ext ->
|
.leftJoin(UserDO::class.java, "ua", UserDO::id, UserDto::userId) { ext ->
|
||||||
ext.selectAs(UserDO::name, UserDto::userName)
|
ext.selectAs(UserDO::name, UserDto::userName)
|
||||||
@ -327,7 +324,7 @@ class LambdaWrapperTest {
|
|||||||
" AND uc.del = false\n" +
|
" AND uc.del = false\n" +
|
||||||
" AND (ua.head_img = tt.`name` AND tt.id = ua.id)"
|
" AND (ua.head_img = tt.`name` AND tt.id = ua.id)"
|
||||||
)
|
)
|
||||||
val w: KtLambdaWrapper<UserDO> = JoinWrappers.kt("tt", UserDO::class.java)
|
val w: KtLambdaWrapper<UserDO> = KtWrappers.query("tt", UserDO::class.java)
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.leftJoin(UserDO::class.java, "ua", UserDO::id, UserDO::pid) { ext ->
|
.leftJoin(UserDO::class.java, "ua", UserDO::id, UserDO::pid) { ext ->
|
||||||
ext.select(UserDO::id)
|
ext.select(UserDO::id)
|
||||||
@ -378,7 +375,7 @@ class LambdaWrapperTest {
|
|||||||
" AND (t.id > ?)"
|
" AND (t.id > ?)"
|
||||||
)
|
)
|
||||||
//自连接
|
//自连接
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.disableSubLogicDel()//关闭副表逻辑删除
|
.disableSubLogicDel()//关闭副表逻辑删除
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.selectCollection(UserDO::class.java, UserDO::children)
|
.selectCollection(UserDO::class.java, UserDO::children)
|
||||||
@ -408,7 +405,7 @@ class LambdaWrapperTest {
|
|||||||
"WHERE (t2.id = t.update_by AND t.id = t1.id)"
|
"WHERE (t2.id = t.update_by AND t.id = t1.id)"
|
||||||
)
|
)
|
||||||
//关联一张表多次
|
//关联一张表多次
|
||||||
val wrapper1: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper1: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.disableLogicDel()
|
.disableLogicDel()
|
||||||
.disableSubLogicDel()
|
.disableSubLogicDel()
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
@ -469,7 +466,7 @@ class LambdaWrapperTest {
|
|||||||
"WHERE t.del = false\n" +
|
"WHERE t.del = false\n" +
|
||||||
" AND (t1.id <= ? AND t.id <= ?)"
|
" AND (t1.id <= ? AND t.id <= ?)"
|
||||||
)
|
)
|
||||||
val wrapper2: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper2: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.disableSubLogicDel()
|
.disableSubLogicDel()
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.selectCollection("t1", UserDO::class.java, UserDO::children) { c ->
|
.selectCollection("t1", UserDO::class.java, UserDO::children) { c ->
|
||||||
@ -490,11 +487,11 @@ class LambdaWrapperTest {
|
|||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
fun testLogicDel() {
|
fun testLogicDel() {
|
||||||
val l1: List<UserDTO> = userMapper!!.selectJoinList(UserDTO::class.java, JoinWrappers.kt(UserDO::class.java))
|
val l1: List<UserDTO> = userMapper!!.selectJoinList(UserDTO::class.java, KtWrappers.query(UserDO::class.java))
|
||||||
assert(l1.size == 14)
|
assert(l1.size == 14)
|
||||||
|
|
||||||
val l2: List<UserDTO> = userMapper.selectJoinList(
|
val l2: List<UserDTO> = userMapper.selectJoinList(
|
||||||
UserDTO::class.java, JoinWrappers.kt(UserDO::class.java)
|
UserDTO::class.java, KtWrappers.query(UserDO::class.java)
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.select(AddressDO::address)
|
.select(AddressDO::address)
|
||||||
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
||||||
@ -502,7 +499,7 @@ class LambdaWrapperTest {
|
|||||||
assert(l2.size == 10)
|
assert(l2.size == 10)
|
||||||
|
|
||||||
val l3: List<UserDTO> = userMapper.selectJoinList(
|
val l3: List<UserDTO> = userMapper.selectJoinList(
|
||||||
UserDTO::class.java, JoinWrappers.kt(UserDO::class.java)
|
UserDTO::class.java, KtWrappers.query(UserDO::class.java)
|
||||||
.disableSubLogicDel()
|
.disableSubLogicDel()
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.selectCollection(AddressDO::class.java, UserDTO::addressList)
|
.selectCollection(AddressDO::class.java, UserDTO::addressList)
|
||||||
@ -512,7 +509,7 @@ class LambdaWrapperTest {
|
|||||||
|
|
||||||
val l4: List<UserDTO> = userMapper.selectJoinList(
|
val l4: List<UserDTO> = userMapper.selectJoinList(
|
||||||
UserDTO::class.java,
|
UserDTO::class.java,
|
||||||
JoinWrappers.kt(UserDO::class.java)
|
KtWrappers.query(UserDO::class.java)
|
||||||
.disableSubLogicDel()
|
.disableSubLogicDel()
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.selectCollection(AddressDO::class.java, UserDTO::addressList)
|
.selectCollection(AddressDO::class.java, UserDTO::addressList)
|
||||||
@ -530,7 +527,7 @@ class LambdaWrapperTest {
|
|||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
fun testAlias() {
|
fun testAlias() {
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.selectCollection(UserDO::class.java, UserDO::children)
|
.selectCollection(UserDO::class.java, UserDO::children)
|
||||||
.leftJoin(UserDO::class.java, UserDO::pid, UserDO::id)
|
.leftJoin(UserDO::class.java, UserDO::pid, UserDO::id)
|
||||||
@ -566,7 +563,7 @@ class LambdaWrapperTest {
|
|||||||
"WHERE t.del = false\n" +
|
"WHERE t.del = false\n" +
|
||||||
" AND aa.del = false"
|
" AND aa.del = false"
|
||||||
)
|
)
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.selectAll(AddressDO::class.java, "aa")
|
.selectAll(AddressDO::class.java, "aa")
|
||||||
.leftJoin(AddressDO::class.java, "aa", AddressDO::userId, UserDO::id)
|
.leftJoin(AddressDO::class.java, "aa", AddressDO::userId, UserDO::id)
|
||||||
@ -576,7 +573,7 @@ class LambdaWrapperTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun testLabel() {
|
fun testLabel() {
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.disableSubLogicDel()
|
.disableSubLogicDel()
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.selectCollection("t1", AddressDO::class.java, UserDO::addressList)
|
.selectCollection("t1", AddressDO::class.java, UserDO::addressList)
|
||||||
@ -600,7 +597,7 @@ class LambdaWrapperTest {
|
|||||||
page.setSearchCount(false)
|
page.setSearchCount(false)
|
||||||
val iPage: IPage<UserDTO> = userMapper!!.selectJoinPage(
|
val iPage: IPage<UserDTO> = userMapper!!.selectJoinPage(
|
||||||
page, UserDTO::class.java,
|
page, UserDTO::class.java,
|
||||||
JoinWrappers.kt(UserDO::class.java)
|
KtWrappers.query(UserDO::class.java)
|
||||||
.selectAll(
|
.selectAll(
|
||||||
UserDO::class.java
|
UserDO::class.java
|
||||||
)
|
)
|
||||||
@ -641,7 +638,7 @@ class LambdaWrapperTest {
|
|||||||
)
|
)
|
||||||
val page: IPage<UserDTO> = userMapper!!.selectJoinPage(
|
val page: IPage<UserDTO> = userMapper!!.selectJoinPage(
|
||||||
Page(1, 10), UserDTO::class.java,
|
Page(1, 10), UserDTO::class.java,
|
||||||
JoinWrappers.kt(UserDO::class.java)
|
KtWrappers.query(UserDO::class.java)
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.select(AddressDO::address)
|
.select(AddressDO::address)
|
||||||
.leftJoin(AddressDO::class.java) { on ->
|
.leftJoin(AddressDO::class.java) { on ->
|
||||||
@ -665,7 +662,7 @@ class LambdaWrapperTest {
|
|||||||
@Test
|
@Test
|
||||||
fun test4() {
|
fun test4() {
|
||||||
val one: UserDTO = userMapper!!.selectJoinOne(
|
val one: UserDTO = userMapper!!.selectJoinOne(
|
||||||
UserDTO::class.java, JoinWrappers.kt(UserDO::class.java)
|
UserDTO::class.java, KtWrappers.query(UserDO::class.java)
|
||||||
.selectSum(UserDO::id)
|
.selectSum(UserDO::id)
|
||||||
.selectMax(UserDO::id, UserDTO::headImg)
|
.selectMax(UserDO::id, UserDTO::headImg)
|
||||||
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
||||||
@ -679,7 +676,7 @@ class LambdaWrapperTest {
|
|||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
fun test6() {
|
fun test6() {
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.selectFilter(AddressDO::class.java) { true }
|
.selectFilter(AddressDO::class.java) { true }
|
||||||
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
||||||
@ -695,7 +692,7 @@ class LambdaWrapperTest {
|
|||||||
@Test
|
@Test
|
||||||
fun test8() {
|
fun test8() {
|
||||||
ThreadLocalUtils.set("SELECT t.`name` FROM `user` t WHERE t.del=false AND (t.`name` = ?)")
|
ThreadLocalUtils.set("SELECT t.`name` FROM `user` t WHERE t.del=false AND (t.`name` = ?)")
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.select(UserDO::name)
|
.select(UserDO::name)
|
||||||
.eq(UserDO::name, "ref")
|
.eq(UserDO::name, "ref")
|
||||||
userMapper!!.selectList(wrapper)
|
userMapper!!.selectList(wrapper)
|
||||||
@ -712,7 +709,7 @@ class LambdaWrapperTest {
|
|||||||
@Test
|
@Test
|
||||||
fun test7() {
|
fun test7() {
|
||||||
val list: List<Map<String, Any>> = userMapper!!.selectJoinMaps(
|
val list: List<Map<String, Any>> = userMapper!!.selectJoinMaps(
|
||||||
JoinWrappers.kt(UserDO::class.java)
|
KtWrappers.query(UserDO::class.java)
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.select(AddressDO::address)
|
.select(AddressDO::address)
|
||||||
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
||||||
@ -727,7 +724,7 @@ class LambdaWrapperTest {
|
|||||||
@Test
|
@Test
|
||||||
fun testMP() {
|
fun testMP() {
|
||||||
val dos: MutableList<UserDO?>? = userMapper!!.selectList(
|
val dos: MutableList<UserDO?>? = userMapper!!.selectList(
|
||||||
JoinWrappers.kt(UserDO::class.java)
|
KtWrappers.query(UserDO::class.java)
|
||||||
.gt(UserDO::id, 3)
|
.gt(UserDO::id, 3)
|
||||||
.lt(UserDO::id, 8)
|
.lt(UserDO::id, 8)
|
||||||
)
|
)
|
||||||
@ -738,7 +735,7 @@ class LambdaWrapperTest {
|
|||||||
"SELECT * FROM `user` t WHERE t.del=false AND (t.id > ? AND t.id < ?) "
|
"SELECT * FROM `user` t WHERE t.del=false AND (t.id > ? AND t.id < ?) "
|
||||||
)
|
)
|
||||||
val dos1: MutableList<UserDO?>? = userMapper.selectList(
|
val dos1: MutableList<UserDO?>? = userMapper.selectList(
|
||||||
JoinWrappers.kt(UserDO::class.java)
|
KtWrappers.query(UserDO::class.java)
|
||||||
.gt(UserDO::id, 3)
|
.gt(UserDO::id, 3)
|
||||||
.lt(UserDO::id, 8)
|
.lt(UserDO::id, 8)
|
||||||
)
|
)
|
||||||
@ -751,7 +748,7 @@ class LambdaWrapperTest {
|
|||||||
@Test
|
@Test
|
||||||
fun testFunc() {
|
fun testFunc() {
|
||||||
ThreadLocalUtils.set("SELECT if(t1.user_id < 5,t1.user_id,t1.user_id + 100) AS id FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) WHERE t.del=false AND t1.del=false")
|
ThreadLocalUtils.set("SELECT if(t1.user_id < 5,t1.user_id,t1.user_id + 100) AS id FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) WHERE t.del=false AND t1.del=false")
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.selectFunc(
|
.selectFunc(
|
||||||
"if(%s < 5,%s,%s + 100)",
|
"if(%s < 5,%s,%s + 100)",
|
||||||
{ arg -> arg.accept(AddressDO::userId, AddressDO::userId, AddressDO::userId) }, UserDO::id
|
{ arg -> arg.accept(AddressDO::userId, AddressDO::userId, AddressDO::userId) }, UserDO::id
|
||||||
@ -769,7 +766,7 @@ class LambdaWrapperTest {
|
|||||||
*/
|
*/
|
||||||
@Test
|
@Test
|
||||||
fun testGeneric() {
|
fun testGeneric() {
|
||||||
val wrapper: KtLambdaWrapper<AddressDO> = JoinWrappers.kt(AddressDO::class.java)
|
val wrapper: KtLambdaWrapper<AddressDO> = KtWrappers.query(AddressDO::class.java)
|
||||||
.selectAll(AddressDO::class.java)
|
.selectAll(AddressDO::class.java)
|
||||||
.le(AddressDO::id, 10000)
|
.le(AddressDO::id, 10000)
|
||||||
.orderByDesc(AddressDO::id)
|
.orderByDesc(AddressDO::id)
|
||||||
@ -792,13 +789,13 @@ class LambdaWrapperTest {
|
|||||||
"SELECT COUNT( * ) FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) LEFT JOIN area t2 ON (t2.id = t1.area_id) WHERE t.del=false AND t1.del=false AND t2.del=false",
|
"SELECT COUNT( * ) FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) LEFT JOIN area t2 ON (t2.id = t1.area_id) WHERE t.del=false AND t1.del=false AND t2.del=false",
|
||||||
"SELECT COUNT( * ) AS total FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) LEFT JOIN area t2 ON (t2.id = t1.area_id) WHERE t.del=false AND t1.del=false AND t2.del=false"
|
"SELECT COUNT( * ) AS total FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) LEFT JOIN area t2 ON (t2.id = t1.area_id) WHERE t.del=false AND t1.del=false AND t2.del=false"
|
||||||
)
|
)
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
||||||
.leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId)
|
.leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId)
|
||||||
val integer: Long = userMapper!!.selectCount(wrapper)
|
val integer: Long = userMapper!!.selectCount(wrapper)
|
||||||
|
|
||||||
ThreadLocalUtils.set("SELECT COUNT( * ) FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) LEFT JOIN area t2 ON (t2.id = t1.area_id) WHERE t.del=false AND t1.del=false AND t2.del=false")
|
ThreadLocalUtils.set("SELECT COUNT( * ) FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) LEFT JOIN area t2 ON (t2.id = t1.area_id) WHERE t.del=false AND t1.del=false AND t2.del=false")
|
||||||
val wrapper1: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper1: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
||||||
.leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId)
|
.leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId)
|
||||||
val aLong1: Long = userMapper.selectJoinCount(wrapper1)
|
val aLong1: Long = userMapper.selectJoinCount(wrapper1)
|
||||||
@ -811,7 +808,7 @@ class LambdaWrapperTest {
|
|||||||
@Test
|
@Test
|
||||||
fun testTable() {
|
fun testTable() {
|
||||||
ThreadLocalUtils.set("SELECT t.id FROM `user`bbbbbbb t LEFT JOIN addressaaaaaaaaaa t1 ON (t1.user_id = t.id) LEFT JOIN area t2 ON (t2.id = t1.area_id) WHERE t.del=false AND t1.del=false AND t2.del=false AND (t.id <= ?) ORDER BY t.id DESC")
|
ThreadLocalUtils.set("SELECT t.id FROM `user`bbbbbbb t LEFT JOIN addressaaaaaaaaaa t1 ON (t1.user_id = t.id) LEFT JOIN area t2 ON (t2.id = t1.area_id) WHERE t.del=false AND t1.del=false AND t2.del=false AND (t.id <= ?) ORDER BY t.id DESC")
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.select(UserDO::id)
|
.select(UserDO::id)
|
||||||
.leftJoin(AddressDO::class.java) { on ->
|
.leftJoin(AddressDO::class.java) { on ->
|
||||||
on.eq(AddressDO::userId, UserDO::id)
|
on.eq(AddressDO::userId, UserDO::id)
|
||||||
@ -865,7 +862,7 @@ class LambdaWrapperTest {
|
|||||||
" AND (t.id <= ?)\n" +
|
" AND (t.id <= ?)\n" +
|
||||||
"ORDER BY t.id DESC\n"
|
"ORDER BY t.id DESC\n"
|
||||||
)
|
)
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.logicDelToOn()
|
.logicDelToOn()
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.selectCollection(AddressDO::class.java, UserDTO::addressList) { addr ->
|
.selectCollection(AddressDO::class.java, UserDTO::addressList) { addr ->
|
||||||
@ -919,7 +916,7 @@ class LambdaWrapperTest {
|
|||||||
" AND (t.id <= ?)\n" +
|
" AND (t.id <= ?)\n" +
|
||||||
"ORDER BY t.id DESC\n"
|
"ORDER BY t.id DESC\n"
|
||||||
)
|
)
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.logicDelToOn()
|
.logicDelToOn()
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.selectCollection(AddressDO::class.java, UserDTO::addressList) { addr ->
|
.selectCollection(AddressDO::class.java, UserDTO::addressList) { addr ->
|
||||||
@ -939,7 +936,7 @@ class LambdaWrapperTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun joinRandomMap() {
|
fun joinRandomMap() {
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.logicDelToOn()
|
.logicDelToOn()
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.selectCollection(UserDTO::addressList) { addr ->
|
.selectCollection(UserDTO::addressList) { addr ->
|
||||||
@ -964,7 +961,7 @@ class LambdaWrapperTest {
|
|||||||
@Test
|
@Test
|
||||||
fun joinRandomMap111() {
|
fun joinRandomMap111() {
|
||||||
ThreadLocalUtils.set("SELECT t.id,t.user_id,t.area_id,t.tel,t.address,t.del FROM address t LEFT JOIN `user` t1 ON (t1.address_id = t.id) LEFT JOIN `user` t2 ON (t2.pid = t1.id) WHERE t.del=false AND t1.del=false AND t2.del=false")
|
ThreadLocalUtils.set("SELECT t.id,t.user_id,t.area_id,t.tel,t.address,t.del FROM address t LEFT JOIN `user` t1 ON (t1.address_id = t.id) LEFT JOIN `user` t2 ON (t2.pid = t1.id) WHERE t.del=false AND t1.del=false AND t2.del=false")
|
||||||
val wrapper: KtLambdaWrapper<AddressDO> = JoinWrappers.kt(AddressDO::class.java)
|
val wrapper: KtLambdaWrapper<AddressDO> = KtWrappers.query(AddressDO::class.java)
|
||||||
.selectAll(AddressDO::class.java)
|
.selectAll(AddressDO::class.java)
|
||||||
.leftJoin(UserDO::class.java, UserDO::addressId, AddressDO::id)
|
.leftJoin(UserDO::class.java, UserDO::addressId, AddressDO::id)
|
||||||
.leftJoin(UserDO::class.java, UserDO::pid, UserDO::id)
|
.leftJoin(UserDO::class.java, UserDO::pid, UserDO::id)
|
||||||
@ -978,7 +975,7 @@ class LambdaWrapperTest {
|
|||||||
@Test
|
@Test
|
||||||
fun joinOwn() {
|
fun joinOwn() {
|
||||||
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 `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) WHERE t.del=false AND t1.del=false AND (t1.id = t1.id)")
|
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 `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) WHERE t.del=false AND t1.del=false AND (t1.id = t1.id)")
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
||||||
.eq(AddressDO::id, AddressDO::id)
|
.eq(AddressDO::id, AddressDO::id)
|
||||||
@ -992,7 +989,7 @@ class LambdaWrapperTest {
|
|||||||
@Test
|
@Test
|
||||||
fun joinOwn1() {
|
fun joinOwn1() {
|
||||||
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 `user` t LEFT JOIN address aaa ON (aaa.user_id = t.id) WHERE t.del=false AND aaa.del=false AND (aaa.id = t.id AND aaa.id = aaa.id)")
|
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 `user` t LEFT JOIN address aaa ON (aaa.user_id = t.id) WHERE t.del=false AND aaa.del=false AND (aaa.id = t.id AND aaa.id = aaa.id)")
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
.leftJoin(AddressDO::class.java, "aaa", AddressDO::userId, UserDO::id) { ext ->
|
.leftJoin(AddressDO::class.java, "aaa", AddressDO::userId, UserDO::id) { ext ->
|
||||||
ext.eq(AddressDO::id, AddressDO::id)
|
ext.eq(AddressDO::id, AddressDO::id)
|
||||||
@ -1010,14 +1007,14 @@ class LambdaWrapperTest {
|
|||||||
"SELECT id,user_id,name FROM order_t t ORDER BY t.name DESC",
|
"SELECT id,user_id,name FROM order_t t ORDER BY t.name DESC",
|
||||||
"SELECT id,user_id,name FROM order_t t ORDER BY t.name desc"
|
"SELECT id,user_id,name FROM order_t t ORDER BY t.name desc"
|
||||||
)
|
)
|
||||||
val wrapper: KtLambdaWrapper<OrderDO> = JoinWrappers.kt(OrderDO::class.java)
|
val wrapper: KtLambdaWrapper<OrderDO> = KtWrappers.query(OrderDO::class.java)
|
||||||
val list: List<OrderDO> = wrapper.list()
|
val list: List<OrderDO> = wrapper.list()
|
||||||
|
|
||||||
ThreadLocalUtils.set(
|
ThreadLocalUtils.set(
|
||||||
"SELECT t.id,t.user_id,t.name,t1.`name` AS userName FROM order_t t LEFT JOIN `user` t1 ON (t1.id = t.user_id) WHERE t1.del=false ORDER BY t.name DESC",
|
"SELECT t.id,t.user_id,t.name,t1.`name` AS userName FROM order_t t LEFT JOIN `user` t1 ON (t1.id = t.user_id) WHERE t1.del=false ORDER BY t.name DESC",
|
||||||
"SELECT t.id,t.user_id,t.name,t1.`name` AS userName FROM order_t t LEFT JOIN `user` t1 ON (t1.id = t.user_id) WHERE t1.del=false ORDER BY t.name desc"
|
"SELECT t.id,t.user_id,t.name,t1.`name` AS userName FROM order_t t LEFT JOIN `user` t1 ON (t1.id = t.user_id) WHERE t1.del=false ORDER BY t.name desc"
|
||||||
)
|
)
|
||||||
val w: KtLambdaWrapper<OrderDO> = JoinWrappers.kt(OrderDO::class.java)
|
val w: KtLambdaWrapper<OrderDO> = KtWrappers.query(OrderDO::class.java)
|
||||||
.selectAll(OrderDO::class.java)
|
.selectAll(OrderDO::class.java)
|
||||||
.selectAs(UserDO::name, OrderDO::userName)
|
.selectAs(UserDO::name, OrderDO::userName)
|
||||||
.leftJoin(UserDO::class.java, UserDO::id, OrderDO::userId)
|
.leftJoin(UserDO::class.java, UserDO::id, OrderDO::userId)
|
||||||
@ -1032,7 +1029,7 @@ class LambdaWrapperTest {
|
|||||||
fun delete() {
|
fun delete() {
|
||||||
//物理删除
|
//物理删除
|
||||||
ThreadLocalUtils.set("DELETE t FROM order_t t LEFT JOIN user_dto t1 ON (t1.id = t.user_id) WHERE (t.id = ?)")
|
ThreadLocalUtils.set("DELETE t FROM order_t t LEFT JOIN user_dto t1 ON (t1.id = t.user_id) WHERE (t.id = ?)")
|
||||||
val w: KtDeleteJoinWrapper<OrderDO> = JoinWrappers.ktDelete(OrderDO::class.java)
|
val w: KtDeleteJoinWrapper<OrderDO> = KtWrappers.delete(OrderDO::class.java)
|
||||||
.leftJoin(UserDto::class.java, UserDto::id, OrderDO::userId)
|
.leftJoin(UserDto::class.java, UserDto::id, OrderDO::userId)
|
||||||
.eq(OrderDO::id, 1)
|
.eq(OrderDO::id, 1)
|
||||||
try {
|
try {
|
||||||
@ -1042,7 +1039,7 @@ class LambdaWrapperTest {
|
|||||||
}
|
}
|
||||||
//逻辑删除
|
//逻辑删除
|
||||||
ThreadLocalUtils.set("UPDATE `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) LEFT JOIN area t2 ON (t2.id = t1.area_id) SET t.del=true ,t1.del=true,t2.del=true WHERE t.del=false AND t1.del=false AND t2.del=false AND (t.id = ?)")
|
ThreadLocalUtils.set("UPDATE `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) LEFT JOIN area t2 ON (t2.id = t1.area_id) SET t.del=true ,t1.del=true,t2.del=true WHERE t.del=false AND t1.del=false AND t2.del=false AND (t.id = ?)")
|
||||||
val wrapper: KtDeleteJoinWrapper<UserDO> = JoinWrappers.ktDelete(UserDO::class.java)
|
val wrapper: KtDeleteJoinWrapper<UserDO> = KtWrappers.delete(UserDO::class.java)
|
||||||
.deleteAll()
|
.deleteAll()
|
||||||
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
||||||
.leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId)
|
.leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId)
|
||||||
@ -1070,7 +1067,7 @@ class LambdaWrapperTest {
|
|||||||
user1.updateBy = 123123
|
user1.updateBy = 123123
|
||||||
|
|
||||||
ThreadLocalUtils.set("UPDATE `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) SET t.update_by=?, t.`name`=?,t1.address=?,t1.tel=?,t1.address=?,t.`name`=?,t.update_by=?,t1.user_id=?,t1.area_id=?,t1.tel=?,t1.address=? WHERE t.del=false AND t1.del=false AND (t.id = ?)")
|
ThreadLocalUtils.set("UPDATE `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) SET t.update_by=?, t.`name`=?,t1.address=?,t1.tel=?,t1.address=?,t.`name`=?,t.update_by=?,t1.user_id=?,t1.area_id=?,t1.tel=?,t1.address=? WHERE t.del=false AND t1.del=false AND (t.id = ?)")
|
||||||
val update: KtUpdateJoinWrapper<UserDO> = JoinWrappers.ktUpdate(UserDO::class.java)
|
val update: KtUpdateJoinWrapper<UserDO> = KtWrappers.update(UserDO::class.java)
|
||||||
.set(UserDO::name, "aaaaaa")
|
.set(UserDO::name, "aaaaaa")
|
||||||
.set(AddressDO::address, "bbbbb")
|
.set(AddressDO::address, "bbbbb")
|
||||||
.setUpdateEntity(address, user)
|
.setUpdateEntity(address, user)
|
||||||
@ -1085,7 +1082,7 @@ class LambdaWrapperTest {
|
|||||||
|
|
||||||
|
|
||||||
ThreadLocalUtils.set("UPDATE `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) SET t.pid=?, t.`name`=?, t.`json`=?, t.sex=?, t.head_img=?, t.create_time=?, t.address_id=?, t.address_id2=?, t.create_by=?, t.update_by=? WHERE t.del=false AND t1.del=false AND (t.id = ?)")
|
ThreadLocalUtils.set("UPDATE `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) SET t.pid=?, t.`name`=?, t.`json`=?, t.sex=?, t.head_img=?, t.create_time=?, t.address_id=?, t.address_id2=?, t.create_by=?, t.update_by=? WHERE t.del=false AND t1.del=false AND (t.id = ?)")
|
||||||
val update1: KtUpdateJoinWrapper<UserDO> = JoinWrappers.ktUpdate(UserDO::class.java)
|
val update1: KtUpdateJoinWrapper<UserDO> = KtWrappers.update(UserDO::class.java)
|
||||||
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
||||||
.eq(OrderDO::id, 1)
|
.eq(OrderDO::id, 1)
|
||||||
try {
|
try {
|
||||||
@ -1101,7 +1098,7 @@ class LambdaWrapperTest {
|
|||||||
@Test
|
@Test
|
||||||
fun sub() {
|
fun sub() {
|
||||||
ThreadLocalUtils.set("SELECT ( SELECT st.id FROM `user` st WHERE st.del=false AND (st.id = t.id) limit 1 ) AS id FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) WHERE t.del=false AND t1.del=false AND (t.id <= ?)")
|
ThreadLocalUtils.set("SELECT ( SELECT st.id FROM `user` st WHERE st.del=false AND (st.id = t.id) limit 1 ) AS id FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) WHERE t.del=false AND t1.del=false AND (t.id <= ?)")
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.selectSub(
|
.selectSub(
|
||||||
UserDO::class.java, { w ->
|
UserDO::class.java, { w ->
|
||||||
w.select(UserDO::id)
|
w.select(UserDO::id)
|
||||||
@ -1114,7 +1111,7 @@ class LambdaWrapperTest {
|
|||||||
wrapper.list()
|
wrapper.list()
|
||||||
|
|
||||||
ThreadLocalUtils.set("SELECT ( SELECT st.id FROM address st WHERE st.del=false AND (st.id = t.id) limit 1 ) AS id FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) WHERE t.del=false AND t1.del=false AND (t.id <= ?)")
|
ThreadLocalUtils.set("SELECT ( SELECT st.id FROM address st WHERE st.del=false AND (st.id = t.id) limit 1 ) AS id FROM `user` t LEFT JOIN address t1 ON (t1.user_id = t.id) WHERE t.del=false AND t1.del=false AND (t.id <= ?)")
|
||||||
val wrapper1: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper1: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.selectSub(AddressDO::class.java, { w ->
|
.selectSub(AddressDO::class.java, { w ->
|
||||||
w.select(AddressDO::id)
|
w.select(AddressDO::id)
|
||||||
.eq(AddressDO::id, UserDO::id)
|
.eq(AddressDO::id, UserDO::id)
|
||||||
@ -1132,11 +1129,11 @@ class LambdaWrapperTest {
|
|||||||
@Test
|
@Test
|
||||||
fun union() {
|
fun union() {
|
||||||
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 `user` t WHERE t.del=false UNION 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 UNION 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")
|
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 `user` t WHERE t.del=false UNION 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 UNION 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")
|
||||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
val wrapper1: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper1: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
val wrapper2: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
val wrapper2: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||||
.selectAll(UserDO::class.java)
|
.selectAll(UserDO::class.java)
|
||||||
|
|
||||||
wrapper.union(wrapper1, wrapper2)
|
wrapper.union(wrapper1, wrapper2)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user