@ -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. Join Wrappers
import com.github.yulichang.toolkit. Kt Wrappers
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 )
@ -99,10 +96,10 @@ class LambdaWrapperTest {
. leftJoin ( AddressDO :: class . java , AddressDO :: userId , UserDO :: id )
. leftJoin ( AreaDO :: class . java , AreaDO :: id , AddressDO :: areaId )
. le ( UserDO :: id , 10000 )
. orderByDesc ( UserDO :: id )
val list = userMapper !! . selectJoinList ( UserDTO :: class . java , wrapper )
assert ( list [ 0 ] . addressList != null && list [ 0 ] !! . addressList !! [ 0 ] . id != null )
list . forEach ( System . out :: println )
. orderByDesc ( UserDO :: id )
val list = userMapper !! . selectJoinList ( UserDTO :: class . java , wrapper )
assert ( list [ 0 ] . addressList != null && list [ 0 ] !! . addressList !! [ 0 ] . id != null )
list . forEach ( System . out :: println )
}
@Test
@ -127,18 +124,18 @@ class LambdaWrapperTest {
" AND t1.del = false \n " +
" 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 )
}
. leftJoin ( AddressDO :: class . java , AddressDO :: userId , UserDO :: id )
. le ( UserDO :: id , 10000 )
. orderByDesc ( UserDO :: id )
val list = userMapper !! . selectJoinList ( UserDTO :: class . java , wrapper )
assert ( list [ 0 ] . addressIds != null )
list . forEach ( System . out :: println )
. orderByDesc ( UserDO :: id )
val list = userMapper !! . selectJoinList ( UserDTO :: class . java , wrapper )
assert ( list [ 0 ] . addressIds != null )
list . forEach ( System . out :: println )
}
@ -176,18 +173,18 @@ class LambdaWrapperTest {
" AND t1.del = false \n " +
" 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 )
}
. leftJoin ( AddressDO :: class . java , AddressDO :: userId , UserDO :: id )
. leftJoin ( AreaDO :: class . java , AreaDO :: id , AddressDO :: areaId )
. orderByDesc ( UserDO :: id )
val list = userMapper !! . selectJoinList ( UserDTO :: class . java , wrapper )
assert ( list [ 0 ] !! . addressList !! [ 0 ] . id != null )
list . forEach ( System . out :: println )
. orderByDesc ( UserDO :: id )
val list = userMapper !! . selectJoinList ( UserDTO :: class . java , wrapper )
assert ( list [ 0 ] !! . addressList !! [ 0 ] . id != null )
list . forEach ( System . out :: println )
}
/ * *
@ -203,14 +200,14 @@ class LambdaWrapperTest {
" WHERE t.del = false \n " +
" AND t1.del = false \n " +
" 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 )
val list : List < Integer > = userMapper !! . selectJoinList ( Integer :: class . java , wrapper )
println ( list )
. leftJoin ( AreaDO :: class . java , AreaDO :: id , AddressDO :: areaId )
val list : List < Integer > = userMapper !! . selectJoinList ( Integer :: class . java , wrapper )
println ( list )
ThreadLocalUtils . set (
@ -221,14 +218,14 @@ class LambdaWrapperTest {
" WHERE t.del = false \n " +
" AND t1.del = false \n " +
" 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 )
val list1 : List < Timestamp > = userMapper . selectJoinList ( Timestamp :: class . java , wrapper1 )
println ( list1 )
. leftJoin ( AreaDO :: class . java , AreaDO :: id , AddressDO :: areaId )
val list1 : List < Timestamp > = userMapper . selectJoinList ( Timestamp :: class . java , wrapper1 )
println ( list1 )
}
@ -253,15 +250,15 @@ class LambdaWrapperTest {
" AND t.del = false \n " +
" AND (t.id <= ?) \n " +
" ORDER BY t.id ASC, t.`name` ASC "
)
val user = UserDO ( )
user . id = 1
val wrapper : KtLambdaWrapper < UserDO > = JoinWrappers. kt ( user )
)
val user = UserDO ( )
user . id = 1
val wrapper : KtLambdaWrapper < UserDO > = KtWrappers. query ( user )
. selectAll ( UserDO :: class . java )
. le ( UserDO :: id , 100 )
. orderByAsc ( UserDO :: id , UserDO :: name )
val list = userMapper !! . selectList ( wrapper )
list . forEach ( System . out :: println )
. orderByAsc ( UserDO :: id , UserDO :: name )
val list = userMapper !! . selectList ( wrapper )
list . forEach ( System . out :: println )
}
@Test
@ -282,8 +279,8 @@ class LambdaWrapperTest {
" AND ub.del = false \n " +
" 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 )
@ -295,11 +292,11 @@ class LambdaWrapperTest {
}
. leftJoin ( UserDO :: class . java , " uc " , UserDO :: id , UserDto :: updateBy ) { ext ->
ext . selectAs ( UserDO :: name , UserDto :: updateName )
}
val userDtos : List < UserDto > = userDTOMapper !! . selectJoinList ( UserDto :: class . java , wrapper )
assert ( StringUtils . isNotBlank ( userDtos [ 0 ] . userName ) )
assert ( StringUtils . isNotBlank ( userDtos [ 0 ] . createName ) )
assert ( StringUtils . isNotBlank ( userDtos [ 0 ] . updateName ) )
}
val userDtos : List < UserDto > = userDTOMapper !! . selectJoinList ( UserDto :: class . java , wrapper )
assert ( StringUtils . isNotBlank ( userDtos [ 0 ] . userName ) )
assert ( StringUtils . isNotBlank ( userDtos [ 0 ] . createName ) )
assert ( StringUtils . isNotBlank ( userDtos [ 0 ] . updateName ) )
ThreadLocalUtils . set (
@ -326,8 +323,8 @@ class LambdaWrapperTest {
" AND ub.del = false \n " +
" 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 )
@ -337,9 +334,9 @@ class LambdaWrapperTest {
ext . select ( UserDO :: img )
}
. leftJoin ( UserDO :: class . java , " uc " , UserDO :: id , UserDO :: updateBy )
. eq ( UserDO :: id , UserDO :: id )
userMapper !! . selectJoinList ( UserDO :: class . java , w )
println ( 1 )
. eq ( UserDO :: id , UserDO :: id )
userMapper !! . selectJoinList ( UserDO :: class . java , w )
println ( 1 )
}
/ * *
@ -376,16 +373,16 @@ class LambdaWrapperTest {
" LEFT JOIN `user` t1 ON (t1.pid = t.id) \n " +
" WHERE t.del = false \n " +
" 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 )
. leftJoin ( UserDO :: class . java , UserDO :: pid , UserDO :: id )
. gt ( UserDO :: id , 0 )
val list : List < UserDO > = userMapper !! . selectJoinList ( UserDO :: class . java , wrapper )
println ( list )
. gt ( UserDO :: id , 0 )
val list : List < UserDO > = userMapper !! . selectJoinList ( UserDO :: class . java , wrapper )
println ( list )
ThreadLocalUtils . set (
" SELECT t.id, \n " +
@ -406,9 +403,9 @@ class LambdaWrapperTest {
" LEFT JOIN `user` t1 ON (t1.id = t.create_by) \n " +
" LEFT JOIN `user` t2 ON (t2.id = t.update_by) \n " +
" 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 )
@ -416,13 +413,13 @@ class LambdaWrapperTest {
ext . selectAs ( UserDO :: name , UserDO :: createName )
}
. leftJoin ( UserDO :: class . java ) { on , ext ->
on . eq ( UserDO :: id , UserDO :: updateBy )
on . eq ( UserDO :: id , UserDO :: updateBy )
ext . selectAs ( UserDO :: name , UserDO :: updateName )
. eq ( UserDO :: id , UserDO :: updateBy )
. eq ( UserDO :: id , UserDO :: updateBy )
}
. eq ( UserDO :: id , UserDO :: id )
val dos : List < UserDO > = userMapper . selectJoinList ( UserDO :: class . java , wrapper1 )
assert ( dos [ 0 ] . createName != null && dos [ 0 ] . updateName != null )
. eq ( UserDO :: id , UserDO :: id )
val dos : List < UserDO > = userMapper . selectJoinList ( UserDO :: class . java , wrapper1 )
assert ( dos [ 0 ] . createName != null && dos [ 0 ] . updateName != null )
ThreadLocalUtils . set (
@ -468,8 +465,8 @@ class LambdaWrapperTest {
" LEFT JOIN `user` t2 ON (t2.pid = t1.id) \n " +
" 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 ->
@ -480,9 +477,9 @@ class LambdaWrapperTest {
. leftJoin ( UserDO :: class . java , UserDO :: pid , UserDO :: id )
. le ( UserDO :: id , 5 )
}
. le ( UserDO :: id , 4 )
val list1 : List < UserDO > = userMapper . selectJoinList ( UserDO :: class . java , wrapper2 )
println ( list1 )
. le ( UserDO :: id , 4 )
val list1 : List < UserDO > = userMapper . selectJoinList ( UserDO :: class . java , wrapper2 )
println ( list1 )
}
/ * *
@ -490,29 +487,29 @@ class LambdaWrapperTest {
* /
@Test
fun testLogicDel ( ) {
val l1 : List < UserDTO > = userMapper !! . selectJoinList ( UserDTO :: class . java , JoinWrappers. kt ( UserDO :: class . java ) )
assert ( l1 . size == 14 )
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 )
)
assert ( l2 . size == 10 )
)
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 )
. leftJoin ( AddressDO :: class . java , AddressDO :: userId , UserDO :: id )
)
assert ( l3 . size == 14 && l3 [ 0 ] . addressList !! . size == 9 )
)
assert ( l3 . size == 14 && l3 [ 0 ] . addressList !! . size == 9 )
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 )
@ -520,8 +517,8 @@ class LambdaWrapperTest {
on . eq ( AddressDO :: userId , UserDO :: id )
. eq ( AddressDO :: del , false )
}
)
assert ( l4 . size == 14 && l4 [ 0 ] . addressList !! . size == 5 )
)
assert ( l4 . size == 14 && l4 [ 0 ] . addressList !! . size == 5 )
}
@ -530,14 +527,14 @@ 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 )
val list : List < UserDO > = userMapper !! . selectJoinList ( UserDO :: class . java , wrapper )
assert ( list [ 0 ] . name != null && list [ 0 ] . children !! [ 0 ] . name != null )
assert ( list [ 0 ] . img != null && list [ 0 ] . children !! [ 0 ] . img != null )
println ( list )
. leftJoin ( UserDO :: class . java , UserDO :: pid , UserDO :: id )
val list : List < UserDO > = userMapper !! . selectJoinList ( UserDO :: class . java , wrapper )
assert ( list [ 0 ] . name != null && list [ 0 ] . children !! [ 0 ] . name != null )
assert ( list [ 0 ] . img != null && list [ 0 ] . children !! [ 0 ] . img != null )
println ( list )
}
@Test
@ -565,29 +562,29 @@ class LambdaWrapperTest {
" LEFT JOIN address aa ON (aa.user_id = t.id) \n " +
" 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 )
val list : List < UserDO > = userMapper !! . selectJoinList ( UserDO :: class . java , wrapper )
println ( list )
. leftJoin ( AddressDO :: class . java , " aa " , AddressDO :: userId , UserDO :: id )
val list : List < UserDO > = userMapper !! . selectJoinList ( UserDO :: class . java , wrapper )
println ( list )
}
@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 )
. selectCollection ( " t2 " , AddressDO :: class . java , UserDO :: addressList2 )
. leftJoin ( AddressDO :: class . java , AddressDO :: id , UserDO :: addressId )
. leftJoin ( AddressDO :: class . java , AddressDO :: id , UserDO :: addressId2 )
val list : List < UserDO > = userMapper !! . selectJoinList ( UserDO :: class . java , wrapper )
. leftJoin ( AddressDO :: class . java , AddressDO :: id , UserDO :: addressId2 )
val list : List < UserDO > = userMapper !! . selectJoinList ( UserDO :: class . java , wrapper )
assert ( list [ 0 ] . addressList !! [ 0 ] . address != null )
assert ( list [ 0 ] . addressList2 !! [ 0 ] . address != null )
println ( list )
assert ( list [ 0 ] . addressList !! [ 0 ] . address != null )
assert ( list [ 0 ] . addressList2 !! [ 0 ] . address != null )
println ( list )
}
@ -596,11 +593,11 @@ class LambdaWrapperTest {
* /
@Test
fun test1 ( ) {
val page : Page < UserDTO > = Page ( 1 , 10 )
page . setSearchCount ( false )
val page : Page < UserDTO > = Page ( 1 , 10 )
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
)
@ -608,8 +605,8 @@ class LambdaWrapperTest {
. select ( AreaDO :: province )
. leftJoin ( AddressDO :: class . java , AddressDO :: userId , UserDO :: id )
. leftJoin ( AreaDO :: class . java , AreaDO :: id , AddressDO :: areaId )
)
iPage . records . forEach ( System . out :: println )
)
iPage . records . forEach ( System . out :: println )
}
/ * *
@ -638,10 +635,10 @@ class LambdaWrapperTest {
" AND t1.del = false \n " +
" AND (t.id = ? AND (t.head_img = ? OR t1.user_id = ?) AND t.id = ?) \n " +
" LIMIT ? "
)
)
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 ->
@ -655,8 +652,8 @@ class LambdaWrapperTest {
. eq ( AddressDO :: userId , 1 )
}
. eq ( UserDO :: id , 1 )
)
page . records . forEach ( System . out :: println )
)
page . records . forEach ( System . out :: println )
}
/ * *
@ -665,12 +662,12 @@ 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 )
)
println ( one )
)
println ( one )
}
@ -679,14 +676,14 @@ 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 )
. eq ( UserDO :: id , 1 )
val page : IPage < UserDTO > = userMapper !! . selectJoinPage ( Page ( 1 , 10 ) , UserDTO :: class . java , wrapper )
assert ( page . records [ 0 ] . address != null )
page . records . forEach ( System . out :: println )
. eq ( UserDO :: id , 1 )
val page : IPage < UserDTO > = userMapper !! . selectJoinPage ( Page ( 1 , 10 ) , UserDTO :: class . java , wrapper )
assert ( page . records [ 0 ] . address != null )
page . records . forEach ( System . out :: println )
}
/ * *
@ -694,13 +691,13 @@ 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 )
ThreadLocalUtils . set ( " SELECT t.`name` FROM `user` t WHERE t.del=false AND (t.`name` = ?) " )
val wrapper : KtLambdaWrapper < UserDO > = KtWrappers. query ( UserDO :: class . java )
. select ( UserDO :: name )
. eq ( UserDO :: name , " ref " )
userMapper !! . selectList ( wrapper )
. eq ( UserDO :: name , " ref " )
userMapper !! . selectList ( wrapper )
try {
userMapper . insertBatchSomeColumn ( ArrayList ( ) )
userMapper . insertBatchSomeColumn ( ArrayList ( ) )
} catch ( ignored : BadSqlGrammarException ) {
}
}
@ -712,13 +709,13 @@ 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 )
)
assert ( list [ 0 ] [ " ADDRESS " ] != null || list [ 0 ] [ " address " ] != null )
list . forEach ( System . out :: println )
)
assert ( list [ 0 ] [ " ADDRESS " ] != null || list [ 0 ] [ " address " ] != null )
list . forEach ( System . out :: println )
}
/ * *
@ -727,22 +724,22 @@ 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 )
)
assert ( dos !! . size == 4 )
)
assert ( dos !! . size == 4 )
ThreadLocalUtils . set (
" SELECT id,pid,`name`,`json`,sex,head_img,create_time,address_id,address_id2,del,create_by,update_by 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 (
JoinWrappers. kt ( UserDO :: class . java )
KtWrappers. query ( UserDO :: class . java )
. gt ( UserDO :: id , 3 )
. lt ( UserDO :: id , 8 )
)
assert ( dos1 !! . size == 4 )
)
assert ( dos1 !! . size == 4 )
}
/ * *
@ -750,16 +747,16 @@ 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 )
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 > = KtWrappers. query ( UserDO :: class . java )
. selectFunc (
" if(%s < 5,%s,%s + 100) " ,
{ arg -> arg . accept ( AddressDO :: userId , AddressDO :: userId , AddressDO :: userId ) } , UserDO :: id
)
. leftJoin ( AddressDO :: class . java , AddressDO :: userId , UserDO :: id )
. leftJoin ( AddressDO :: class . java , AddressDO :: userId , UserDO :: id )
try {
val dos : List < UserDO > = userMapper !! . selectJoinList ( UserDO :: class . java , wrapper )
val dos : List < UserDO > = userMapper !! . selectJoinList ( UserDO :: class . java , wrapper )
} catch ( _ : BadSqlGrammarException ) {
}
}
@ -769,17 +766,17 @@ 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 )
val list : List < AddressDTO > = addressMapper !! . selectJoinList ( AddressDTO :: class . java , wrapper )
. orderByDesc ( AddressDO :: id )
val list : List < AddressDTO > = addressMapper !! . selectJoinList ( AddressDTO :: class . java , wrapper )
assert (
Objects . equals (
" [AddressDTO(id=22, userId=22, areaId=10022, tel=10000000022, address=朝阳22, del=false, areaList=null, area=null), AddressDTO(id=21, userId=21, areaId=10021, tel=10000000021, address=朝阳21, del=false, areaList=null, area=null), AddressDTO(id=20, userId=20, areaId=10020, tel=10000000020, address=朝阳20, del=false, areaList=null, area=null), AddressDTO(id=19, userId=19, areaId=10019, tel=10000000019, address=朝阳19, del=false, areaList=null, area=null), AddressDTO(id=18, userId=18, areaId=10018, tel=10000000018, address=朝阳18, del=false, areaList=null, area=null), AddressDTO(id=17, userId=17, areaId=10017, tel=10000000017, address=朝阳17, del=false, areaList=null, area=null), AddressDTO(id=16, userId=16, areaId=10016, tel=10000000016, address=朝阳16, del=false, areaList=null, area=null), AddressDTO(id=15, userId=15, areaId=10015, tel=10000000015, address=朝阳15, del=false, areaList=null, area=null), AddressDTO(id=14, userId=14, areaId=10014, tel=10000000014, address=朝阳14, del=false, areaList=null, area=null), AddressDTO(id=13, userId=13, areaId=10013, tel=10000000013, address=朝阳13, del=false, areaList=null, area=null), AddressDTO(id=12, userId=12, areaId=10012, tel=10000000012, address=朝阳12, del=false, areaList=null, area=null), AddressDTO(id=11, userId=11, areaId=10011, tel=10000000011, address=朝阳11, del=false, areaList=null, area=null), AddressDTO(id=10, userId=10, areaId=10010, tel=10000000010, address=朝阳10, del=false, areaList=null, area=null), AddressDTO(id=5, userId=1, areaId=10005, tel=10000000005, address=朝阳05, del=false, areaList=null, area=null), AddressDTO(id=4, userId=1, areaId=10004, tel=10000000004, address=朝阳04, del=false, areaList=null, area=null), AddressDTO(id=3, userId=1, areaId=10003, tel=10000000003, address=朝阳03, del=false, areaList=null, area=null), AddressDTO(id=2, userId=1, areaId=10002, tel=10000000002, address=朝阳02, del=false, areaList=null, area=null), AddressDTO(id=1, userId=1, areaId=10001, tel=10000000001, address=朝阳01, del=false, areaList=null, area=null)] " ,
list . toString ( )
)
)
)
}
/ * *
@ -791,17 +788,17 @@ class LambdaWrapperTest {
" SELECT COUNT( 1 ) 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 "
)
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 )
. 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 )
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 > = 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 )
. leftJoin ( AreaDO :: class . java , AreaDO :: id , AddressDO :: areaId )
val aLong1 : Long = userMapper . selectJoinCount ( wrapper1 )
}
@ -810,8 +807,8 @@ 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 )
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 > = KtWrappers. query ( UserDO :: class . java )
. select ( UserDO :: id )
. leftJoin ( AddressDO :: class . java ) { on ->
on . eq ( AddressDO :: userId , UserDO :: id )
@ -820,9 +817,9 @@ class LambdaWrapperTest {
. leftJoin ( AreaDO :: class . java , AreaDO :: id , AddressDO :: areaId )
. le ( UserDO :: id , 10000 )
. orderByDesc ( UserDO :: id )
. setTableName { name -> name + " bbbbbbb " }
. setTableName { name -> name + " bbbbbbb " }
try {
val list = userMapper !! . selectJoinList ( UserDTO :: class . java , wrapper )
val list = userMapper !! . selectJoinList ( UserDTO :: class . java , wrapper )
} catch ( _ : BadSqlGrammarException ) {
}
}
@ -864,8 +861,8 @@ class LambdaWrapperTest {
" WHERE t.del = false \n " +
" 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 ->
@ -874,12 +871,12 @@ class LambdaWrapperTest {
. leftJoin ( AddressDO :: class . java , AddressDO :: userId , UserDO :: id )
. leftJoin ( AreaDO :: class . java , AreaDO :: id , AddressDO :: areaId )
. le ( UserDO :: id , 10000 )
. orderByDesc ( UserDO :: id )
println ( wrapper . from )
val list = userMapper !! . selectJoinList ( UserDTO :: class . java , wrapper )
. orderByDesc ( UserDO :: id )
println ( wrapper . from )
val list = userMapper !! . selectJoinList ( UserDTO :: class . java , wrapper )
assert ( list [ 0 ] . addressList != null && list [ 0 ] . addressList !! [ 0 ] . id != null )
list . forEach ( System . out :: println )
assert ( list [ 0 ] . addressList != null && list [ 0 ] . addressList !! [ 0 ] . id != null )
list . forEach ( System . out :: println )
}
/ * *
@ -918,8 +915,8 @@ class LambdaWrapperTest {
" WHERE t.del = false \n " +
" 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 ->
@ -928,18 +925,18 @@ class LambdaWrapperTest {
. leftJoin ( AddressDO :: class . java , AddressDO :: userId , UserDO :: id )
. leftJoin ( AreaDO :: class . java , AreaDO :: id , AddressDO :: areaId )
. le ( UserDO :: id , 10000 )
. orderByDesc ( UserDO :: id )
. orderByDesc ( UserDO :: id )
val list = wrapper . list ( UserDTO :: class . java )
val list = wrapper . list ( UserDTO :: class . java )
println ( list )
assert ( list [ 0 ] . addressList != null && list [ 0 ] . addressList !! [ 0 ] . id != null )
list . forEach ( System . out :: println )
println ( list )
assert ( list [ 0 ] . addressList != null && list [ 0 ] . addressList !! [ 0 ] . id != null )
list . forEach ( System . out :: println )
}
@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 ->
@ -953,23 +950,23 @@ class LambdaWrapperTest {
. leftJoin ( AddressDO :: class . java , AddressDO :: userId , UserDO :: id )
. leftJoin ( AreaDO :: class . java , AreaDO :: id , AddressDO :: areaId )
. le ( UserDO :: id , 10000 )
. orderByDesc ( UserDO :: id )
. orderByDesc ( UserDO :: id )
val list : MutableList < UserDTO > = wrapper . list ( UserDTO :: class . java )
println ( list )
assert ( list [ 0 ] . addressList != null && list [ 0 ] . addressList !! [ 0 ] . id != null )
list . forEach ( System . out :: println )
val list : MutableList < UserDTO > = wrapper . list ( UserDTO :: class . java )
println ( list )
assert ( list [ 0 ] . addressList != null && list [ 0 ] . addressList !! [ 0 ] . id != null )
list . forEach ( System . out :: println )
}
@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 )
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 > = 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 )
. leftJoin ( UserDO :: class . java , UserDO :: pid , UserDO :: id )
val addressDOS : List < AddressDO > = wrapper . list ( )
val addressDOS : List < AddressDO > = wrapper . list ( )
}
/ * *
@ -977,13 +974,13 @@ 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 )
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 > = KtWrappers. query ( UserDO :: class . java )
. selectAll ( UserDO :: class . java )
. leftJoin ( AddressDO :: class . java , AddressDO :: userId , UserDO :: id )
. eq ( AddressDO :: id , AddressDO :: id )
. eq ( AddressDO :: id , AddressDO :: id )
val addressDOS : List < UserDO > = wrapper . list ( )
val addressDOS : List < UserDO > = wrapper . list ( )
}
/ * *
@ -991,14 +988,14 @@ 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 )
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 > = 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 )
}
. eq ( AddressDO :: id , AddressDO :: id )
val addressDOS : List < UserDO > = wrapper . list ( )
. eq ( AddressDO :: id , AddressDO :: id )
val addressDOS : List < UserDO > = wrapper . list ( )
}
/ * *
@ -1009,20 +1006,20 @@ class LambdaWrapperTest {
ThreadLocalUtils . set (
" 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 list : List < OrderDO > = wrapper . list ( )
)
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 )
println ( wrapper . from )
val l : List < OrderDO > = w . list ( )
. leftJoin ( UserDO :: class . java , UserDO :: id , OrderDO :: userId )
println ( wrapper . from )
val l : List < OrderDO > = w . list ( )
}
/ * *
@ -1031,24 +1028,24 @@ class LambdaWrapperTest {
@Test
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. ktD elete( OrderDO :: class . java )
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 > = KtWrappers. d elete( OrderDO :: class . java )
. leftJoin ( UserDto :: class . java , UserDto :: id , OrderDO :: userId )
. eq ( OrderDO :: id , 1 )
. eq ( OrderDO :: id , 1 )
try {
orderMapper !! . deleteJoin ( w )
orderMapper !! . deleteJoin ( w )
} catch ( _ : BadSqlGrammarException ) {
//忽略异常 h2不支持连表删除
}
//逻辑删除
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. ktD elete( UserDO :: class . java )
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 > = KtWrappers. d elete( UserDO :: class . java )
. deleteAll ( )
. leftJoin ( AddressDO :: class . java , AddressDO :: userId , UserDO :: id )
. leftJoin ( AreaDO :: class . java , AreaDO :: id , AddressDO :: areaId )
. eq ( OrderDO :: id , 1 )
. eq ( OrderDO :: id , 1 )
try {
userMapper !! . deleteJoin ( wrapper )
userMapper !! . deleteJoin ( wrapper )
} catch ( _ : BadSqlGrammarException ) {
//忽略异常 h2不支持连表删除
}
@ -1069,8 +1066,8 @@ class LambdaWrapperTest {
val user1 = UserDO ( )
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. ktU pdate( UserDO :: class . java )
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 > = KtWrappers. u pdate( UserDO :: class . java )
. set ( UserDO :: name , " aaaaaa " )
. set ( AddressDO :: address , " bbbbb " )
. setUpdateEntity ( address , user )
@ -1078,14 +1075,14 @@ class LambdaWrapperTest {
. leftJoin ( AddressDO :: class . java , AddressDO :: userId , UserDO :: id )
. eq ( OrderDO :: id , 1 )
try {
val join = userMapper !! . updateJoin ( user1 , update )
val join = userMapper !! . updateJoin ( user1 , update )
} catch ( _ : BadSqlGrammarException ) {
//忽略异常 h2不支持连表删除
}
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. ktU pdate( UserDO :: class . java )
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 > = KtWrappers. u pdate( UserDO :: class . java )
. leftJoin ( AddressDO :: class . java , AddressDO :: userId , UserDO :: id )
. eq ( OrderDO :: id , 1 )
try {
@ -1100,8 +1097,8 @@ 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 )
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 > = KtWrappers. query ( UserDO :: class . java )
. selectSub (
UserDO :: class . java , { w ->
w . select ( UserDO :: id )
@ -1110,19 +1107,19 @@ class LambdaWrapperTest {
} , UserDO :: id
)
. leftJoin ( AddressDO :: class . java , AddressDO :: userId , UserDO :: id )
. le ( UserDO :: id , 100 )
wrapper . list ( )
. le ( UserDO :: id , 100 )
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 )
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 > = KtWrappers. query ( UserDO :: class . java )
. selectSub ( AddressDO :: class . java , { w ->
w . select ( AddressDO :: id )
. eq ( AddressDO :: id , UserDO :: id )
. last ( " limit 1 " )
} , UserDO :: id )
. leftJoin ( AddressDO :: class . java , AddressDO :: userId , UserDO :: id )
. le ( UserDO :: id , 100 )
wrapper1 . list ( )
. le ( UserDO :: id , 100 )
wrapper1 . list ( )
}
@ -1132,15 +1129,15 @@ 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 )
. selectAll ( UserDO :: class . java )
val wrapper1 : KtLambdaWrapper < UserDO > = JoinWrappers. kt ( UserDO :: class . java )
. selectAll ( UserDO :: class . java )
val wrapper2 : KtLambdaWrapper < UserDO > = JoinWrappers. kt ( UserDO :: class . java )
. selectAll ( UserDO :: class . java )
val wrapper : KtLambdaWrapper < UserDO > = KtWrappers. query ( UserDO :: class . java )
. selectAll ( UserDO :: class . java )
val wrapper1 : KtLambdaWrapper < UserDO > = KtWrappers. query ( UserDO :: class . java )
. selectAll ( UserDO :: class . java )
val wrapper2 : KtLambdaWrapper < UserDO > = KtWrappers. query ( UserDO :: class . java )
. selectAll ( UserDO :: class . java )
wrapper . union ( wrapper1 , wrapper2 )
wrapper . list ( )
println ( 1 )
wrapper . union ( wrapper1 , wrapper2 )
wrapper . list ( )
println ( 1 )
}
}