https://github.com/baomidou/mybatis-plus/issues/6673
@@ -55,6 +55,10 @@ open class KtQueryChainWrapper<T : Any>(
return typedThis
}
+ override fun select(predicate: Predicate<TableFieldInfo>): KtQueryChainWrapper<T> {
+ return select(entityClass, predicate)
+ }
+
override fun select(entityClass: Class<T>, predicate: Predicate<TableFieldInfo>): KtQueryChainWrapper<T> {
wrapperChildren.select(entityClass, predicate)
@@ -72,6 +72,10 @@ open class KtQueryWrapper<T : Any> : AbstractKtWrapper<T, KtQueryWrapper<T>>, Qu
+ override fun select(predicate: Predicate<TableFieldInfo>): KtQueryWrapper<T> {
+ return select(entityClass, predicate) as KtQueryWrapper<T>
override fun select(entityClass: Class<T>, predicate: Predicate<TableFieldInfo>): KtQueryWrapper<T> {
this.entityClass = entityClass
this.sqlSelect.stringValue = TableInfoHelper.getTableInfo(getEntityClass()).chooseSelect(predicate)
@@ -1,6 +1,7 @@
package com.baomidou.mybatisplus.test.kotlin
import com.baomidou.mybatisplus.core.metadata.IPage
+import com.baomidou.mybatisplus.extension.kotlin.KtQueryWrapper
import com.baomidou.mybatisplus.extension.plugins.pagination.Page
import com.baomidou.mybatisplus.extension.toolkit.ChainWrappers
import com.baomidou.mybatisplus.extension.toolkit.Db
@@ -54,6 +55,16 @@ class ChainWrappersTest : BaseDbTest<UserMapper>() {
);
+ @Test
+ fun testSelectByPredicate() {
+ Assertions.assertDoesNotThrow { ChainWrappers.ktQueryChain(User::class.java).select({ true }).list() }
+ doTestAutoCommit(fun(m) {
+ Assertions.assertDoesNotThrow {
+ m.selectList(KtQueryWrapper(User()).select { true })
+ })
override fun tableDataSql(): String {
return "insert into `sys_user`(id,username,role_id) values(1,'gozei',1),(2,'chocolate',2),(3,'sheep',1)"