miemie 4 年之前
父节点
当前提交
26ffc96d88

+ 12 - 0
mybatis-plus-core/src/test/java/com/baomidou/mybatisplus/core/conditions/BaseWrapperTest.java

@@ -1,7 +1,9 @@
 package com.baomidou.mybatisplus.core.conditions;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.baomidou.mybatisplus.core.toolkit.StringPool;
+import lombok.Data;
 
 import static org.assertj.core.api.Assertions.assertThat;
 
@@ -17,4 +19,14 @@ class BaseWrapperTest {
             assertThat(k).startsWith(Constants.WRAPPER_PARAM);
         });
     }
+
+    @Data
+    protected static class Entity {
+        private Integer id;
+
+        @TableField("username")
+        private String name;
+
+        private Integer roleId;
+    }
 }

+ 27 - 28
mybatis-plus-core/src/test/java/com/baomidou/mybatisplus/core/conditions/QueryWrapperTest.java

@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.MybatisConfiguration;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.TableInfoHelper;
-import com.baomidou.mybatisplus.test.User;
 import org.apache.ibatis.builder.MapperBuilderAssistant;
 import org.junit.jupiter.api.Test;
 
@@ -33,9 +32,9 @@ class QueryWrapperTest extends BaseWrapperTest {
     @Test
     void test() {
         try {
-            Wrapper<User> wrapper = new QueryWrapper<User>().lambda().eq(User::getName, 123)
-                .or(c -> c.eq(User::getRoleId, 1).eq(User::getId, 2))
-                .eq(User::getId, 1);
+            Wrapper<Entity> wrapper = new QueryWrapper<Entity>().lambda().eq(Entity::getName, 123)
+                .or(c -> c.eq(Entity::getRoleId, 1).eq(Entity::getId, 2))
+                .eq(Entity::getId, 1);
             log(wrapper.getSqlSegment());
         } catch (Exception e) {
             log(e.getMessage());
@@ -44,7 +43,7 @@ class QueryWrapperTest extends BaseWrapperTest {
 
     @Test
     void test1() {
-        QueryWrapper<User> ew = new QueryWrapper<User>() {
+        QueryWrapper<Entity> ew = new QueryWrapper<Entity>() {
             /**
              * serialVersionUID
              */
@@ -69,7 +68,7 @@ class QueryWrapperTest extends BaseWrapperTest {
 
     @Test
     void test2() {
-        UpdateWrapper<User> ew = new UpdateWrapper<User>()
+        UpdateWrapper<Entity> ew = new UpdateWrapper<Entity>()
             .set("name", "三毛").set("id", 1)
             .eq("xxx", 123)
             .and(i -> i.eq("andx", 65444).le("ande", 66666))
@@ -80,7 +79,7 @@ class QueryWrapperTest extends BaseWrapperTest {
 
     @Test
     void test3() {
-        UpdateWrapper<User> ew = new UpdateWrapper<User>()
+        UpdateWrapper<Entity> ew = new UpdateWrapper<Entity>()
             .setSql("abc=1,def=2").set("sets", 1111).eq("id", 1).ge("age", 3);
         log(ew.getSqlSet());
         log(ew.getSqlSegment());
@@ -88,57 +87,57 @@ class QueryWrapperTest extends BaseWrapperTest {
 
     @Test
     void testQueryWrapper() {
-        logSqlSegment("去除第一个 or,以及自动拼接 and,以及手动拼接 or,以及去除最后的多个or", new QueryWrapper<User>().or()
+        logSqlSegment("去除第一个 or,以及自动拼接 and,以及手动拼接 or,以及去除最后的多个or", new QueryWrapper<Entity>().or()
                 .ge("age", 3).or().ge("age", 3).ge("age", 3).or().or().or().or(),
             "(age >= ? OR age >= ? AND age >= ?)");
 
-        logSqlSegment("多个 or 相连接,去除多余的 or", new QueryWrapper<User>()
+        logSqlSegment("多个 or 相连接,去除多余的 or", new QueryWrapper<Entity>()
                 .ge("age", 3).or().or().or().ge("age", 3).or().or().ge("age", 3),
             "(age >= ? OR age >= ? OR age >= ?)");
 
-        logSqlSegment("嵌套,正常嵌套", new QueryWrapper<User>()
+        logSqlSegment("嵌套,正常嵌套", new QueryWrapper<Entity>()
                 .nested(i -> i.eq("id", 1)).eq("id", 1),
             "((id = ?) AND id = ?)");
 
-        logSqlSegment("嵌套,第一个套外的 and 自动消除", new QueryWrapper<User>()
+        logSqlSegment("嵌套,第一个套外的 and 自动消除", new QueryWrapper<Entity>()
                 .and(i -> i.eq("id", 1)).eq("id", 1),
             "((id = ?) AND id = ?)");
 
-        logSqlSegment("嵌套,多层嵌套", new QueryWrapper<User>()
+        logSqlSegment("嵌套,多层嵌套", new QueryWrapper<Entity>()
                 .and(i -> i.eq("id", 1).and(j -> j.eq("id", 2))),
             "((id = ? AND (id = ?)))");
 
-        logSqlSegment("嵌套,第一个套外的 or 自动消除", new QueryWrapper<User>()
+        logSqlSegment("嵌套,第一个套外的 or 自动消除", new QueryWrapper<Entity>()
                 .or(i -> i.eq("id", 1)).eq("id", 1),
             "((id = ?) AND id = ?)");
 
-        logSqlSegment("嵌套,套内外自动拼接 and", new QueryWrapper<User>()
+        logSqlSegment("嵌套,套内外自动拼接 and", new QueryWrapper<Entity>()
                 .eq("id", 11).and(i -> i.eq("id", 1)).eq("id", 1),
             "(id = ? AND (id = ?) AND id = ?)");
 
-        logSqlSegment("嵌套,套内外手动拼接 or,去除套内第一个 or", new QueryWrapper<User>()
+        logSqlSegment("嵌套,套内外手动拼接 or,去除套内第一个 or", new QueryWrapper<Entity>()
                 .eq("id", 11).or(i -> i.or().eq("id", 1)).or().eq("id", 1),
             "(id = ? OR (id = ?) OR id = ?)");
 
-        logSqlSegment("多个 order by 和 group by 拼接,自动优化顺序,last方法拼接在最后", new QueryWrapper<User>()
+        logSqlSegment("多个 order by 和 group by 拼接,自动优化顺序,last方法拼接在最后", new QueryWrapper<Entity>()
                 .eq("id", 11)
                 .last("limit 1")
                 .orderByAsc("id", "name", "sex").orderByDesc("age", "txl")
                 .groupBy("id", "name", "sex").groupBy("id", "name"),
             "(id = ?) GROUP BY id,name,sex,id,name ORDER BY id ASC,name ASC,sex ASC,age DESC,txl DESC limit 1");
 
-        logSqlSegment("只存在 order by", new QueryWrapper<User>()
+        logSqlSegment("只存在 order by", new QueryWrapper<Entity>()
                 .orderByAsc("id", "name", "sex").orderByDesc("age", "txl"),
             "ORDER BY id ASC,name ASC,sex ASC,age DESC,txl DESC");
 
-        logSqlSegment("只存在 group by", new QueryWrapper<User>()
+        logSqlSegment("只存在 group by", new QueryWrapper<Entity>()
                 .groupBy("id", "name", "sex").groupBy("id", "name"),
             "GROUP BY id,name,sex,id,name");
     }
 
     @Test
     void testCompare() {
-        QueryWrapper<User> queryWrapper = new QueryWrapper<User>()
+        QueryWrapper<Entity> queryWrapper = new QueryWrapper<Entity>()
             .allEq(getMap()).allEq((k, v) -> true, getMap())
             .eq("id", 1).ne("id", 1)
             .or().gt("id", 1).ge("id", 1)
@@ -152,7 +151,7 @@ class QueryWrapperTest extends BaseWrapperTest {
 
     @Test
     void testFunc() {
-        QueryWrapper<User> queryWrapper = new QueryWrapper<User>()
+        QueryWrapper<Entity> queryWrapper = new QueryWrapper<Entity>()
             .isNull("nullColumn").or().isNotNull("notNullColumn")
             .orderByAsc("id").orderByDesc("name", "name2")
             .groupBy("id").groupBy("name", "id2", "name2")
@@ -166,7 +165,7 @@ class QueryWrapperTest extends BaseWrapperTest {
 
     @Test
     void testJoin() {
-        QueryWrapper<User> queryWrapper = new QueryWrapper<User>()
+        QueryWrapper<Entity> queryWrapper = new QueryWrapper<Entity>()
             .last("limit 1").or()
             .apply("date_format(column,'%Y-%m-%d') = '2008-08-08'")
             .apply("date_format(column,'%Y-%m-%d') = {0}", LocalDate.now())
@@ -178,7 +177,7 @@ class QueryWrapperTest extends BaseWrapperTest {
 
     @Test
     void testNested() {
-        QueryWrapper<User> queryWrapper = new QueryWrapper<User>()
+        QueryWrapper<Entity> queryWrapper = new QueryWrapper<Entity>()
             .and(i -> i.eq("id", 1).nested(j -> j.ne("id", 2)))
             .or(i -> i.eq("id", 1).and(j -> j.ne("id", 2)))
             .nested(i -> i.eq("id", 1).or(j -> j.ne("id", 2)))
@@ -189,23 +188,23 @@ class QueryWrapperTest extends BaseWrapperTest {
 
     @Test
     void testPluralLambda() {
-        TableInfoHelper.initTableInfo(new MapperBuilderAssistant(new MybatisConfiguration(), ""), User.class);
-        QueryWrapper<User> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(User::getName, "sss");
-        queryWrapper.lambda().eq(User::getName, "sss2");
+        TableInfoHelper.initTableInfo(new MapperBuilderAssistant(new MybatisConfiguration(), ""), Entity.class);
+        QueryWrapper<Entity> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(Entity::getName, "sss");
+        queryWrapper.lambda().eq(Entity::getName, "sss2");
         logSqlSegment("测试 PluralLambda", queryWrapper, "(username = ? AND username = ?)");
         logParams(queryWrapper);
     }
 
     @Test
     void testInEmptyColl() {
-        QueryWrapper<User> queryWrapper = new QueryWrapper<User>().in("xxx", Collections.emptyList());
+        QueryWrapper<Entity> queryWrapper = new QueryWrapper<Entity>().in("xxx", Collections.emptyList());
         logSqlSegment("测试 empty 的 coll", queryWrapper, "(xxx IN ())");
     }
 
     @Test
     void testExistsValue() {
-        QueryWrapper<User> wrapper = new QueryWrapper<>();
+        QueryWrapper<Entity> wrapper = new QueryWrapper<>();
         wrapper.eq("a", "b");
         wrapper.exists("select 1 from xxx where id = {0} and name = {1}", 1, "Bob");
         logSqlSegment("testExistsValue", wrapper, "(a = ? AND EXISTS (select 1 from xxx where id = ? and name = ?))");