代码调整

This commit is contained in:
yulichang 2023-08-07 16:35:39 +08:00
parent cc1b03ad3c
commit 026c64ee59
9 changed files with 313 additions and 301 deletions

View File

@ -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();

View File

@ -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) {

View File

@ -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);
}
}

View File

@ -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)) {

View File

@ -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);
}
}

View File

@ -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);
}

View File

@ -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>

View File

@ -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)