Browse Source

思路=丝绸之路进化3

125473094@qq.com 7 years ago
parent
commit
03683ae6d9

+ 2 - 2
mybatis-plus-core/src/main/java/com/baomidou/mybatisplus/core/toolkit/TableInfoHelper.java

@@ -24,6 +24,7 @@ import java.util.Optional;
 import java.util.concurrent.ConcurrentHashMap;
 
 import com.baomidou.mybatisplus.core.toolkit.support.LambdaCache;
+import com.baomidou.mybatisplus.core.toolkit.support.Property;
 import org.apache.ibatis.builder.MapperBuilderAssistant;
 import org.apache.ibatis.executor.keygen.KeyGenerator;
 import org.apache.ibatis.executor.keygen.NoKeyGenerator;
@@ -50,7 +51,6 @@ import com.baomidou.mybatisplus.core.exceptions.MybatisPlusException;
 import com.baomidou.mybatisplus.core.incrementer.IKeyGenerator;
 import com.baomidou.mybatisplus.core.metadata.TableFieldInfo;
 import com.baomidou.mybatisplus.core.metadata.TableInfo;
-import com.baomidou.mybatisplus.core.toolkit.support.SerializedFunction;
 import com.baomidou.mybatisplus.core.toolkit.support.SerializedLambda;
 
 /**
@@ -83,7 +83,7 @@ public class TableInfoHelper {
      * @param <T>  被函数调用的类型,这个必须指定
      * @return 返回解析后的列名
      */
-    public static <T> String toColumn(SerializedFunction<T, ?> func) {
+    public static <T> String toColumn(Property<T, ?> func) {
         SerializedLambda lambda = LambdaUtils.resolve(func);
         // 使用 class 名称和方法名称作为缓存的键值
         String cacheKey = lambda.getImplClass() + lambda.getImplMethodName();

+ 56 - 0
mybatis-plus-core/src/test/java/com/baomidou/mybatisplus/core/test/Main.java

@@ -1,8 +1,18 @@
 package com.baomidou.mybatisplus.core.test;
 
+import com.baomidou.mybatisplus.core.metadata.TableInfo;
+import com.baomidou.mybatisplus.core.toolkit.TableInfoHelper;
+import org.junit.Assert;
+
+import java.time.LocalDate;
+
 public class Main {
 
     public static void main(String[] args) {
+        columnPrefix();
+    }
+
+    public static void query() {
         Query query = new Query(User.class)
             .select(User::getId, User::getName)
             .eq(User::getId, 1)
@@ -10,4 +20,50 @@ public class Main {
             .orderBy(User::getName);
         System.out.println(query);
     }
+
+    public static void columnPrefix() {
+        TableInfo tableInfo = TableInfoHelper.initTableInfo(null, Test.class);
+        Assert.assertEquals("test_id", tableInfo.getKeyColumn());
+        tableInfo.getFieldList().forEach(i-> System.out.println(i.getColumn()));
+    }
+
+
+    public static class Test {
+        private Long id;
+        private String name;
+        private String age;
+        private LocalDate localDate;
+
+        public Long getId() {
+            return id;
+        }
+
+        public void setId(Long id) {
+            this.id = id;
+        }
+
+        public String getName() {
+            return name;
+        }
+
+        public void setName(String name) {
+            this.name = name;
+        }
+
+        public String getAge() {
+            return age;
+        }
+
+        public void setAge(String age) {
+            this.age = age;
+        }
+
+        public LocalDate getLocalDate() {
+            return localDate;
+        }
+
+        public void setLocalDate(LocalDate localDate) {
+            this.localDate = localDate;
+        }
+    }
 }