瀏覽代碼

修正更新出现的错

miemie 6 年之前
父節點
當前提交
a09f529e4e

+ 4 - 10
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/toolkit/Wrappers.java

@@ -1,9 +1,5 @@
 package com.baomidou.mybatisplus.core.toolkit;
 
-import java.util.Collections;
-import java.util.Map;
-import java.util.concurrent.atomic.AtomicInteger;
-
 import com.baomidou.mybatisplus.core.conditions.ISqlSegment;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -11,6 +7,10 @@ import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 
+import java.util.Collections;
+import java.util.Map;
+import java.util.concurrent.atomic.AtomicInteger;
+
 /**
  * <p>
  * Wrapper 条件构造
@@ -149,11 +149,6 @@ public final class Wrappers {
             return null;
         }
 
-        @Override
-        public String getSqlSet() {
-            return null;
-        }
-
         @Override
         public MergeSegments getExpression() {
             return null;
@@ -227,5 +222,4 @@ public final class Wrappers {
             throw new UnsupportedOperationException();
         }
     }
-
 }

+ 5 - 4
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/kotlin/KtQueryWrapper.kt

@@ -15,6 +15,7 @@
  */
 package com.baomidou.mybatisplus.extension.kotlin
 
+import com.baomidou.mybatisplus.core.conditions.query.Query
 import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments
 import com.baomidou.mybatisplus.core.metadata.TableFieldInfo
 import com.baomidou.mybatisplus.core.toolkit.ArrayUtils
@@ -29,7 +30,7 @@ import kotlin.reflect.KProperty
  * @author yangyuhan
  * @since 2018-11-02
  */
-class KtQueryWrapper<T : Any> : AbstractKtWrapper<T, KtQueryWrapper<T>> {
+class KtQueryWrapper<T : Any> : AbstractKtWrapper<T, KtQueryWrapper<T>>, Query<KtQueryWrapper<T>, T, KProperty<*>> {
 
     /**
      * 查询字段
@@ -58,14 +59,14 @@ class KtQueryWrapper<T : Any> : AbstractKtWrapper<T, KtQueryWrapper<T>> {
      * @param columns 查询字段
      */
     @SafeVarargs
-    fun select(vararg columns: KProperty<*>): KtQueryWrapper<T> {
+    override fun select(vararg columns: KProperty<*>): KtQueryWrapper<T> {
         if (ArrayUtils.isNotEmpty(columns)) {
             this.sqlSelect = this.columnsToString(*columns)
         }
         return typedThis
     }
 
-    fun select(predicate: Predicate<TableFieldInfo>): KtQueryWrapper<T> {
+    override fun select(predicate: Predicate<TableFieldInfo>): KtQueryWrapper<T> {
         return select(entityClass, predicate)
     }
 
@@ -82,7 +83,7 @@ class KtQueryWrapper<T : Any> : AbstractKtWrapper<T, KtQueryWrapper<T>> {
      * @param predicate 过滤方式
      * @return this
      */
-    fun select(entityClass: Class<T>, predicate: Predicate<TableFieldInfo>): KtQueryWrapper<T> {
+    override fun select(entityClass: Class<T>, predicate: Predicate<TableFieldInfo>): KtQueryWrapper<T> {
         this.entityClass = entityClass
         this.sqlSelect = TableInfoHelper.getTableInfo(checkEntityClass).chooseSelect(predicate)
         return typedThis

+ 9 - 8
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/kotlin/KtUpdateWrapper.kt

@@ -16,6 +16,7 @@
 package com.baomidou.mybatisplus.extension.kotlin
 
 import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments
+import com.baomidou.mybatisplus.core.conditions.update.Update
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils
 import com.baomidou.mybatisplus.core.toolkit.StringPool
 import java.util.concurrent.atomic.AtomicInteger
@@ -28,7 +29,7 @@ import kotlin.reflect.KProperty
  * @author yangyuhan
  * @since 2018-11-02
  */
-class KtUpdateWrapper<T : Any> : AbstractKtWrapper<T, KtUpdateWrapper<T>> {
+class KtUpdateWrapper<T : Any> : AbstractKtWrapper<T, KtUpdateWrapper<T>>, Update<KtUpdateWrapper<T>, KProperty<*>> {
 
     /**
      * SQL 更新字段内容,例如:name='1',age=2
@@ -50,18 +51,18 @@ class KtUpdateWrapper<T : Any> : AbstractKtWrapper<T, KtUpdateWrapper<T>> {
     }
 
     override fun getSqlSet(): String? {
-        return if (CollectionUtils.isEmpty(sqlSet)) {
-            null
-        } else sqlSet.stream().collect(joining(StringPool.COMMA))
+        return if (CollectionUtils.isEmpty(sqlSet)) null
+        else sqlSet.stream().collect(joining(StringPool.COMMA))
     }
 
-    operator fun set(column: KProperty<*>, `val`: Any): KtUpdateWrapper<T> {
-        return this.set(true, column, `val`)
+    override fun setSql(sql: String): KtUpdateWrapper<T> {
+        sqlSet.add(sql)
+        return typedThis
     }
 
-    operator fun set(condition: Boolean, column: KProperty<*>, `val`: Any): KtUpdateWrapper<T> {
+    override fun set(condition: Boolean, column: KProperty<*>, value: Any): KtUpdateWrapper<T> {
         if (condition) {
-            sqlSet.add(String.format("%s=%s", columnToString(column), formatSql("{0}", `val`)))
+            sqlSet.add(String.format("%s=%s", columnToString(column), formatSql("{0}", value)))
         }
         return typedThis
     }