Skip to content

Commit cbffbd6

Browse files
committed
Better pattern for partials in Kotlin
1 parent d1226e2 commit cbffbd6

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

src/test/kotlin/examples/kotlin/mybatis3/canonical/PersonWithAddressMapperExtensions.kt

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -31,33 +31,36 @@ import org.mybatis.dynamic.sql.util.kotlin.mybatis3.selectList
3131

3232
fun PersonWithAddressMapper.selectOne(completer: SelectCompleter): PersonWithAddress? {
3333
val start = KotlinSelectBuilder(select(id.`as`("A_ID"), firstName, lastName, birthDate,
34-
employed, occupation, Address.id, Address.streetAddress, Address.city, Address.state))
35-
.from(Person)
36-
.fullJoin(Address) {
37-
on(Person.addressId, equalTo(Address.id))
38-
}
34+
employed, occupation, Address.id, Address.streetAddress, Address.city, Address.state)).apply {
35+
from(Person)
36+
fullJoin(Address) {
37+
on(Person.addressId, equalTo(Address.id))
38+
}
39+
}
3940

4041
return selectOne(this::selectOne, start, completer)
4142
}
4243

4344
fun PersonWithAddressMapper.select(completer: SelectCompleter): List<PersonWithAddress> {
4445
val start = KotlinSelectBuilder(select(id.`as`("A_ID"), firstName, lastName, birthDate,
45-
employed, occupation, Address.id, Address.streetAddress, Address.city, Address.state))
46-
.from(Person, "p")
47-
.fullJoin(Address) {
48-
on(Person.addressId, equalTo(Address.id))
49-
}
46+
employed, occupation, Address.id, Address.streetAddress, Address.city, Address.state)).apply {
47+
from(Person, "p")
48+
fullJoin(Address) {
49+
on(Person.addressId, equalTo(Address.id))
50+
}
51+
}
5052

5153
return selectList(this::selectMany, start, completer)
5254
}
5355

5456
fun PersonWithAddressMapper.selectDistinct(completer: SelectCompleter): List<PersonWithAddress> {
5557
val start = KotlinSelectBuilder(selectDistinct(id.`as`("A_ID"), firstName, lastName,
56-
birthDate, employed, occupation, Address.id, Address.streetAddress, Address.city, Address.state))
57-
.from(Person, "p")
58-
.fullJoin(Address) {
59-
on(Person.addressId, equalTo(Address.id))
60-
}
58+
birthDate, employed, occupation, Address.id, Address.streetAddress, Address.city, Address.state)).apply {
59+
from(Person, "p")
60+
fullJoin(Address) {
61+
on(Person.addressId, equalTo(Address.id))
62+
}
63+
}
6164

6265
return selectList(this::selectMany, start, completer)
6366
}

0 commit comments

Comments
 (0)