Pārlūkot izejas kodu

修正一处为stream方式

miemie 7 gadi atpakaļ
vecāks
revīzija
9a42813eca

+ 8 - 14
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/injector/AbstractMethod.java

@@ -19,8 +19,8 @@ import java.lang.reflect.ParameterizedType;
 import java.lang.reflect.Type;
 import java.lang.reflect.TypeVariable;
 import java.lang.reflect.WildcardType;
-import java.util.Iterator;
 import java.util.List;
+import java.util.stream.Collectors;
 
 import org.apache.ibatis.builder.MapperBuilderAssistant;
 import org.apache.ibatis.executor.keygen.KeyGenerator;
@@ -228,20 +228,14 @@ public abstract class AbstractMethod {
 
             if (size >= 1) {
                 // 字段处理
-                int i = 0;
-                Iterator<TableFieldInfo> iterator = fieldList.iterator();
-                while (iterator.hasNext()) {
-                    TableFieldInfo fieldInfo = iterator.next();
-                    // 匹配转换内容
-                    columns.append(this.sqlWordConvert(fieldInfo.getColumn()));
-                    if (fieldInfo.isRelated()) {
-                        columns.append(" AS ").append(fieldInfo.getProperty());
-                    }
-                    if (i + 1 < size) {
-                        columns.append(",");
+                // 字段处理
+                columns.append(fieldList.stream().map(j -> {
+                    String v = this.sqlWordConvert(j.getColumn());
+                    if (j.isRelated()) {
+                        v += (" AS " + j.getProperty());
                     }
-                    i++;
-                }
+                    return v;
+                }).collect(Collectors.joining(",")));
             }
             if (entityWrapper) {
                 columns.append("</otherwise></choose>");

+ 12 - 3
mybatis-plus/src/test/java/com/baomidou/mybatisplus/test/mysql/MysqlTestDataMapperTest.java

@@ -11,7 +11,9 @@ import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 
 import javax.annotation.Resource;
 import java.time.LocalDate;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -59,9 +61,16 @@ public class MysqlTestDataMapperTest {
 
     @Test
     public void update() {
-        TestData updData = new TestData().setId(1L).setTestStr("123123");
-        TestData whereData = new TestData().setId(1L);
-        testDataMapper.update(updData, null);
+        TestData data = new TestData().setId(1L).setTestStr("123123");
+        testDataMapper.update(data, new UpdateWrapper<TestData>().eq("id", 1L));
+    }
+
+    @Test
+    public void mm() {
+        Map<String, Object> map = new HashMap<>();
+        map.put("id", 1L);
+        map.put("test_int", 1);
+        println(testDataMapper.selectByMap(map));
     }
 
     private void println(List<TestData> list) {