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.toolkit.Constant;
|
||||
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.support.ColumnCache;
|
||||
import com.github.yulichang.wrapper.interfaces.Chain;
|
||||
@ -203,7 +203,7 @@ public class KtLambdaWrapper<T> extends KtAbstractLambdaWrapper<T, KtLambdaWrapp
|
||||
wrapper.alias = st;
|
||||
wrapper.subTableAlias = st;
|
||||
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));
|
||||
return typedThis;
|
||||
}
|
||||
@ -218,7 +218,7 @@ public class KtLambdaWrapper<T> extends KtAbstractLambdaWrapper<T, KtLambdaWrapp
|
||||
Class<?> entityClass = wrapper.getEntityClass();
|
||||
Assert.notNull(entityClass, "请使用 new MPJLambdaWrapper(主表.class) 或 JoinWrappers.lambda(主表.class) 构造方法");
|
||||
sb.append(" UNION ")
|
||||
.append(KtwWrapperUtils.buildUnionSqlByWrapper(entityClass, wrapper));
|
||||
.append(KtWrapperUtils.buildUnionSqlByWrapper(entityClass, wrapper));
|
||||
}
|
||||
if (Objects.isNull(unionSql)) {
|
||||
unionSql = SharedString.emptyString();
|
||||
@ -237,7 +237,7 @@ public class KtLambdaWrapper<T> extends KtAbstractLambdaWrapper<T, KtLambdaWrapp
|
||||
Class<?> entityClass = wrapper.getEntityClass();
|
||||
Assert.notNull(entityClass, "请使用 new MPJLambdaWrapper(主表.class) 或 JoinWrappers.lambda(主表.class) 构造方法");
|
||||
sb.append(" UNION ALL ")
|
||||
.append(KtwWrapperUtils.buildUnionSqlByWrapper(entityClass, wrapper));
|
||||
.append(KtWrapperUtils.buildUnionSqlByWrapper(entityClass, wrapper));
|
||||
}
|
||||
if (Objects.isNull(unionSql)) {
|
||||
unionSql = SharedString.emptyString();
|
||||
|
@ -12,6 +12,7 @@ import java.util.Arrays;
|
||||
* @author yulichang
|
||||
* @since 1.4.6
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
public class FuncArgs {
|
||||
|
||||
public SelectFunc.Arg[] accept(KProperty<?>... kProperty) {
|
||||
|
@ -1,8 +1,5 @@
|
||||
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.wrapper.DeleteJoinWrapper;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
@ -105,74 +102,4 @@ public class JoinWrappers {
|
||||
public static <T> UpdateJoinWrapper<T> update(String alias, Class<T> clazz) {
|
||||
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
|
||||
* @since 1.4.6
|
||||
*/
|
||||
public class KtwWrapperUtils {
|
||||
public class KtWrapperUtils {
|
||||
|
||||
@SuppressWarnings("DuplicatedCode")
|
||||
public static String buildSubSqlByWrapper(Class<?> clazz, KtLambdaWrapper<?> wrapper, String alias) {
|
||||
TableInfo tableInfo = TableHelper.get(clazz);
|
||||
Asserts.hasTable(tableInfo, clazz);
|
||||
@ -52,6 +53,7 @@ public class KtwWrapperUtils {
|
||||
alias);
|
||||
}
|
||||
|
||||
@SuppressWarnings("DuplicatedCode")
|
||||
public static String buildUnionSqlByWrapper(Class<?> clazz, KtLambdaWrapper<?> wrapper) {
|
||||
TableInfo tableInfo = TableHelper.get(clazz);
|
||||
Asserts.hasTable(tableInfo, clazz);
|
||||
@ -92,6 +94,7 @@ public class KtwWrapperUtils {
|
||||
return SqlScriptUtils.safeParam(paramStr, null);
|
||||
}
|
||||
|
||||
@SuppressWarnings("DuplicatedCode")
|
||||
private static String getEntitySql(TableInfo tableInfo, KtLambdaWrapper<?> wrapper) {
|
||||
Object obj = wrapper.getEntity();
|
||||
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
|
||||
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>()
|
||||
.distinct()
|
||||
.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);
|
||||
}
|
||||
|
||||
|
@ -36,7 +36,7 @@
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.jetbrains.kotlin</groupId>
|
||||
<artifactId>kotlin-test</artifactId>
|
||||
<artifactId>kotlin-test-junit</artifactId>
|
||||
<version>1.8.21</version>
|
||||
<scope>test</scope>
|
||||
</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.util.Reset
|
||||
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.Test
|
||||
import org.springframework.beans.factory.annotation.Autowired
|
||||
@ -32,10 +32,7 @@ import java.util.*
|
||||
* <p>
|
||||
* 移除了mybatis-plus 逻辑删除支持,逻辑删除需要在连表查询时自己添加对应的条件
|
||||
*/
|
||||
@Suppress(
|
||||
"all", "unused", "UNUSED_VARIABLE", "PLATFORM_CLASS_MAPPED_TO_KOTLIN",
|
||||
"SpringJavaInjectionPointsAutowiringInspection"
|
||||
)
|
||||
@Suppress("all")
|
||||
@SpringBootTest
|
||||
class LambdaWrapperTest {
|
||||
@Autowired
|
||||
@ -91,7 +88,7 @@ class LambdaWrapperTest {
|
||||
" AND (t.id <= ?)\n" +
|
||||
"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)
|
||||
.selectCollection(AddressDO::class.java, UserDTO::addressList) { addr ->
|
||||
addr.association(AreaDO::class.java, AddressDTO::area)
|
||||
@ -128,7 +125,7 @@ class LambdaWrapperTest {
|
||||
" AND (t.id <= ?)\n" +
|
||||
"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)
|
||||
.selectCollection(AddressDO::class.java, UserDTO::addressIds) { e ->
|
||||
e.id(AddressDO::id)
|
||||
@ -177,7 +174,7 @@ class LambdaWrapperTest {
|
||||
" AND t2.del = false\n" +
|
||||
"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)
|
||||
.selectCollection(AddressDO::class.java, UserDTO::addressList) { addr ->
|
||||
addr.association(AreaDO::class.java, AddressDTO::area)
|
||||
@ -205,7 +202,7 @@ class LambdaWrapperTest {
|
||||
" AND t2.del = false"
|
||||
)
|
||||
//基本数据类型 和 String
|
||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
||||
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||
.select(UserDO::id)
|
||||
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
||||
.leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId)
|
||||
@ -223,7 +220,7 @@ class LambdaWrapperTest {
|
||||
" AND t2.del = false"
|
||||
)
|
||||
//java.sql包下的类
|
||||
val wrapper1: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
||||
val wrapper1: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||
.select(UserDO::createTime)
|
||||
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
||||
.leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId)
|
||||
@ -256,7 +253,7 @@ class LambdaWrapperTest {
|
||||
)
|
||||
val user = UserDO()
|
||||
user.id = 1
|
||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(user)
|
||||
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(user)
|
||||
.selectAll(UserDO::class.java)
|
||||
.le(UserDO::id, 100)
|
||||
.orderByAsc(UserDO::id, UserDO::name)
|
||||
@ -283,7 +280,7 @@ class LambdaWrapperTest {
|
||||
" AND uc.del = false\n" +
|
||||
" 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)
|
||||
.leftJoin(UserDO::class.java, "ua", UserDO::id, UserDto::userId) { ext ->
|
||||
ext.selectAs(UserDO::name, UserDto::userName)
|
||||
@ -327,7 +324,7 @@ class LambdaWrapperTest {
|
||||
" AND uc.del = false\n" +
|
||||
" 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)
|
||||
.leftJoin(UserDO::class.java, "ua", UserDO::id, UserDO::pid) { ext ->
|
||||
ext.select(UserDO::id)
|
||||
@ -378,7 +375,7 @@ class LambdaWrapperTest {
|
||||
" AND (t.id > ?)"
|
||||
)
|
||||
//自连接
|
||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
||||
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||
.disableSubLogicDel()//关闭副表逻辑删除
|
||||
.selectAll(UserDO::class.java)
|
||||
.selectCollection(UserDO::class.java, UserDO::children)
|
||||
@ -408,7 +405,7 @@ class LambdaWrapperTest {
|
||||
"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()
|
||||
.disableSubLogicDel()
|
||||
.selectAll(UserDO::class.java)
|
||||
@ -469,7 +466,7 @@ class LambdaWrapperTest {
|
||||
"WHERE t.del = false\n" +
|
||||
" 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()
|
||||
.selectAll(UserDO::class.java)
|
||||
.selectCollection("t1", UserDO::class.java, UserDO::children) { c ->
|
||||
@ -490,11 +487,11 @@ class LambdaWrapperTest {
|
||||
*/
|
||||
@Test
|
||||
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)
|
||||
|
||||
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)
|
||||
.select(AddressDO::address)
|
||||
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
||||
@ -502,7 +499,7 @@ class LambdaWrapperTest {
|
||||
assert(l2.size == 10)
|
||||
|
||||
val l3: List<UserDTO> = userMapper.selectJoinList(
|
||||
UserDTO::class.java, JoinWrappers.kt(UserDO::class.java)
|
||||
UserDTO::class.java, KtWrappers.query(UserDO::class.java)
|
||||
.disableSubLogicDel()
|
||||
.selectAll(UserDO::class.java)
|
||||
.selectCollection(AddressDO::class.java, UserDTO::addressList)
|
||||
@ -512,7 +509,7 @@ class LambdaWrapperTest {
|
||||
|
||||
val l4: List<UserDTO> = userMapper.selectJoinList(
|
||||
UserDTO::class.java,
|
||||
JoinWrappers.kt(UserDO::class.java)
|
||||
KtWrappers.query(UserDO::class.java)
|
||||
.disableSubLogicDel()
|
||||
.selectAll(UserDO::class.java)
|
||||
.selectCollection(AddressDO::class.java, UserDTO::addressList)
|
||||
@ -530,7 +527,7 @@ class LambdaWrapperTest {
|
||||
*/
|
||||
@Test
|
||||
fun testAlias() {
|
||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
||||
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||
.selectAll(UserDO::class.java)
|
||||
.selectCollection(UserDO::class.java, UserDO::children)
|
||||
.leftJoin(UserDO::class.java, UserDO::pid, UserDO::id)
|
||||
@ -566,7 +563,7 @@ class LambdaWrapperTest {
|
||||
"WHERE t.del = false\n" +
|
||||
" 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(AddressDO::class.java, "aa")
|
||||
.leftJoin(AddressDO::class.java, "aa", AddressDO::userId, UserDO::id)
|
||||
@ -576,7 +573,7 @@ class LambdaWrapperTest {
|
||||
|
||||
@Test
|
||||
fun testLabel() {
|
||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
||||
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||
.disableSubLogicDel()
|
||||
.selectAll(UserDO::class.java)
|
||||
.selectCollection("t1", AddressDO::class.java, UserDO::addressList)
|
||||
@ -600,7 +597,7 @@ class LambdaWrapperTest {
|
||||
page.setSearchCount(false)
|
||||
val iPage: IPage<UserDTO> = userMapper!!.selectJoinPage(
|
||||
page, UserDTO::class.java,
|
||||
JoinWrappers.kt(UserDO::class.java)
|
||||
KtWrappers.query(UserDO::class.java)
|
||||
.selectAll(
|
||||
UserDO::class.java
|
||||
)
|
||||
@ -641,7 +638,7 @@ class LambdaWrapperTest {
|
||||
)
|
||||
val page: IPage<UserDTO> = userMapper!!.selectJoinPage(
|
||||
Page(1, 10), UserDTO::class.java,
|
||||
JoinWrappers.kt(UserDO::class.java)
|
||||
KtWrappers.query(UserDO::class.java)
|
||||
.selectAll(UserDO::class.java)
|
||||
.select(AddressDO::address)
|
||||
.leftJoin(AddressDO::class.java) { on ->
|
||||
@ -665,7 +662,7 @@ class LambdaWrapperTest {
|
||||
@Test
|
||||
fun test4() {
|
||||
val one: UserDTO = userMapper!!.selectJoinOne(
|
||||
UserDTO::class.java, JoinWrappers.kt(UserDO::class.java)
|
||||
UserDTO::class.java, KtWrappers.query(UserDO::class.java)
|
||||
.selectSum(UserDO::id)
|
||||
.selectMax(UserDO::id, UserDTO::headImg)
|
||||
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
||||
@ -679,7 +676,7 @@ class LambdaWrapperTest {
|
||||
*/
|
||||
@Test
|
||||
fun test6() {
|
||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
||||
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||
.selectAll(UserDO::class.java)
|
||||
.selectFilter(AddressDO::class.java) { true }
|
||||
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
||||
@ -695,7 +692,7 @@ class LambdaWrapperTest {
|
||||
@Test
|
||||
fun test8() {
|
||||
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)
|
||||
.eq(UserDO::name, "ref")
|
||||
userMapper!!.selectList(wrapper)
|
||||
@ -712,7 +709,7 @@ class LambdaWrapperTest {
|
||||
@Test
|
||||
fun test7() {
|
||||
val list: List<Map<String, Any>> = userMapper!!.selectJoinMaps(
|
||||
JoinWrappers.kt(UserDO::class.java)
|
||||
KtWrappers.query(UserDO::class.java)
|
||||
.selectAll(UserDO::class.java)
|
||||
.select(AddressDO::address)
|
||||
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
||||
@ -727,7 +724,7 @@ class LambdaWrapperTest {
|
||||
@Test
|
||||
fun testMP() {
|
||||
val dos: MutableList<UserDO?>? = userMapper!!.selectList(
|
||||
JoinWrappers.kt(UserDO::class.java)
|
||||
KtWrappers.query(UserDO::class.java)
|
||||
.gt(UserDO::id, 3)
|
||||
.lt(UserDO::id, 8)
|
||||
)
|
||||
@ -738,7 +735,7 @@ class LambdaWrapperTest {
|
||||
"SELECT * FROM `user` t WHERE t.del=false AND (t.id > ? AND t.id < ?) "
|
||||
)
|
||||
val dos1: MutableList<UserDO?>? = userMapper.selectList(
|
||||
JoinWrappers.kt(UserDO::class.java)
|
||||
KtWrappers.query(UserDO::class.java)
|
||||
.gt(UserDO::id, 3)
|
||||
.lt(UserDO::id, 8)
|
||||
)
|
||||
@ -751,7 +748,7 @@ class LambdaWrapperTest {
|
||||
@Test
|
||||
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")
|
||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
||||
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||
.selectFunc(
|
||||
"if(%s < 5,%s,%s + 100)",
|
||||
{ arg -> arg.accept(AddressDO::userId, AddressDO::userId, AddressDO::userId) }, UserDO::id
|
||||
@ -769,7 +766,7 @@ class LambdaWrapperTest {
|
||||
*/
|
||||
@Test
|
||||
fun testGeneric() {
|
||||
val wrapper: KtLambdaWrapper<AddressDO> = JoinWrappers.kt(AddressDO::class.java)
|
||||
val wrapper: KtLambdaWrapper<AddressDO> = KtWrappers.query(AddressDO::class.java)
|
||||
.selectAll(AddressDO::class.java)
|
||||
.le(AddressDO::id, 10000)
|
||||
.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( * ) 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(AreaDO::class.java, AreaDO::id, AddressDO::areaId)
|
||||
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")
|
||||
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(AreaDO::class.java, AreaDO::id, AddressDO::areaId)
|
||||
val aLong1: Long = userMapper.selectJoinCount(wrapper1)
|
||||
@ -811,7 +808,7 @@ class LambdaWrapperTest {
|
||||
@Test
|
||||
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")
|
||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
||||
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||
.select(UserDO::id)
|
||||
.leftJoin(AddressDO::class.java) { on ->
|
||||
on.eq(AddressDO::userId, UserDO::id)
|
||||
@ -865,7 +862,7 @@ class LambdaWrapperTest {
|
||||
" AND (t.id <= ?)\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()
|
||||
.selectAll(UserDO::class.java)
|
||||
.selectCollection(AddressDO::class.java, UserDTO::addressList) { addr ->
|
||||
@ -919,7 +916,7 @@ class LambdaWrapperTest {
|
||||
" AND (t.id <= ?)\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()
|
||||
.selectAll(UserDO::class.java)
|
||||
.selectCollection(AddressDO::class.java, UserDTO::addressList) { addr ->
|
||||
@ -939,7 +936,7 @@ class LambdaWrapperTest {
|
||||
|
||||
@Test
|
||||
fun joinRandomMap() {
|
||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
||||
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||
.logicDelToOn()
|
||||
.selectAll(UserDO::class.java)
|
||||
.selectCollection(UserDTO::addressList) { addr ->
|
||||
@ -964,7 +961,7 @@ class LambdaWrapperTest {
|
||||
@Test
|
||||
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")
|
||||
val wrapper: KtLambdaWrapper<AddressDO> = JoinWrappers.kt(AddressDO::class.java)
|
||||
val wrapper: KtLambdaWrapper<AddressDO> = KtWrappers.query(AddressDO::class.java)
|
||||
.selectAll(AddressDO::class.java)
|
||||
.leftJoin(UserDO::class.java, UserDO::addressId, AddressDO::id)
|
||||
.leftJoin(UserDO::class.java, UserDO::pid, UserDO::id)
|
||||
@ -978,7 +975,7 @@ class LambdaWrapperTest {
|
||||
@Test
|
||||
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)")
|
||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
||||
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||
.selectAll(UserDO::class.java)
|
||||
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
||||
.eq(AddressDO::id, AddressDO::id)
|
||||
@ -992,7 +989,7 @@ class LambdaWrapperTest {
|
||||
@Test
|
||||
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)")
|
||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
||||
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||
.selectAll(UserDO::class.java)
|
||||
.leftJoin(AddressDO::class.java, "aaa", AddressDO::userId, UserDO::id) { ext ->
|
||||
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"
|
||||
)
|
||||
val wrapper: KtLambdaWrapper<OrderDO> = JoinWrappers.kt(OrderDO::class.java)
|
||||
val wrapper: KtLambdaWrapper<OrderDO> = KtWrappers.query(OrderDO::class.java)
|
||||
val list: List<OrderDO> = wrapper.list()
|
||||
|
||||
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"
|
||||
)
|
||||
val w: KtLambdaWrapper<OrderDO> = JoinWrappers.kt(OrderDO::class.java)
|
||||
val w: KtLambdaWrapper<OrderDO> = KtWrappers.query(OrderDO::class.java)
|
||||
.selectAll(OrderDO::class.java)
|
||||
.selectAs(UserDO::name, OrderDO::userName)
|
||||
.leftJoin(UserDO::class.java, UserDO::id, OrderDO::userId)
|
||||
@ -1032,7 +1029,7 @@ class LambdaWrapperTest {
|
||||
fun delete() {
|
||||
//物理删除
|
||||
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)
|
||||
.eq(OrderDO::id, 1)
|
||||
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 = ?)")
|
||||
val wrapper: KtDeleteJoinWrapper<UserDO> = JoinWrappers.ktDelete(UserDO::class.java)
|
||||
val wrapper: KtDeleteJoinWrapper<UserDO> = KtWrappers.delete(UserDO::class.java)
|
||||
.deleteAll()
|
||||
.leftJoin(AddressDO::class.java, AddressDO::userId, UserDO::id)
|
||||
.leftJoin(AreaDO::class.java, AreaDO::id, AddressDO::areaId)
|
||||
@ -1070,7 +1067,7 @@ class LambdaWrapperTest {
|
||||
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 = ?)")
|
||||
val update: KtUpdateJoinWrapper<UserDO> = JoinWrappers.ktUpdate(UserDO::class.java)
|
||||
val update: KtUpdateJoinWrapper<UserDO> = KtWrappers.update(UserDO::class.java)
|
||||
.set(UserDO::name, "aaaaaa")
|
||||
.set(AddressDO::address, "bbbbb")
|
||||
.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 = ?)")
|
||||
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)
|
||||
.eq(OrderDO::id, 1)
|
||||
try {
|
||||
@ -1101,7 +1098,7 @@ class LambdaWrapperTest {
|
||||
@Test
|
||||
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 <= ?)")
|
||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
||||
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||
.selectSub(
|
||||
UserDO::class.java, { w ->
|
||||
w.select(UserDO::id)
|
||||
@ -1114,7 +1111,7 @@ class LambdaWrapperTest {
|
||||
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 <= ?)")
|
||||
val wrapper1: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
||||
val wrapper1: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||
.selectSub(AddressDO::class.java, { w ->
|
||||
w.select(AddressDO::id)
|
||||
.eq(AddressDO::id, UserDO::id)
|
||||
@ -1132,11 +1129,11 @@ class LambdaWrapperTest {
|
||||
@Test
|
||||
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")
|
||||
val wrapper: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
||||
val wrapper: KtLambdaWrapper<UserDO> = KtWrappers.query(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)
|
||||
val wrapper2: KtLambdaWrapper<UserDO> = JoinWrappers.kt(UserDO::class.java)
|
||||
val wrapper2: KtLambdaWrapper<UserDO> = KtWrappers.query(UserDO::class.java)
|
||||
.selectAll(UserDO::class.java)
|
||||
|
||||
wrapper.union(wrapper1, wrapper2)
|
||||
|
Loading…
x
Reference in New Issue
Block a user