From 2a1373de16e0af544b2f6beecdcf3cc99593cddc Mon Sep 17 00:00:00 2001 From: hewei Date: Wed, 19 Dec 2018 10:56:52 +0800 Subject: [PATCH] =?UTF-8?q?Example=E6=B5=8B=E8=AF=95=E7=94=A8=E4=BE=8B?= =?UTF-8?q?=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plugins/ExampleEnhancedPluginTest.java | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/test/java/com/itfsw/mybatis/generator/plugins/ExampleEnhancedPluginTest.java b/src/test/java/com/itfsw/mybatis/generator/plugins/ExampleEnhancedPluginTest.java index 74c3b2f..a9d249b 100644 --- a/src/test/java/com/itfsw/mybatis/generator/plugins/ExampleEnhancedPluginTest.java +++ b/src/test/java/com/itfsw/mybatis/generator/plugins/ExampleEnhancedPluginTest.java @@ -251,7 +251,7 @@ public class ExampleEnhancedPluginTest { method.invoke(tbExample4.getObject(), true, exampleThen); sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "selectByExample", tbExample4.getObject()); - Assert.assertEquals(sql, "select id, field1, field2 from tb order by field1"); + Assert.assertEquals(sql, "select id, field1, field2 from tb WHERE ( field1 = 'f3' )"); // 2. when false ObjectUtil tbExample5 = new ObjectUtil(loader, packagz + ".TbExample"); @@ -284,7 +284,7 @@ public class ExampleEnhancedPluginTest { } method.invoke(tbExample6.getObject(), true, exampleThen, exampleOtherwise); sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "selectByExample", tbExample6.getObject()); - Assert.assertEquals(sql, "select id, field1, field2 from tb order by field1"); + Assert.assertEquals(sql, "select id, field1, field2 from tb WHERE ( field1 = 'f3' )"); ObjectUtil tbExample7 = new ObjectUtil(loader, packagz + ".TbExample"); @@ -297,7 +297,7 @@ public class ExampleEnhancedPluginTest { } method.invoke(tbExample7.getObject(), false, exampleThen, exampleOtherwise); sql = SqlHelper.getFormatMapperSql(tbMapper.getObject(), "selectByExample", tbExample7.getObject()); - Assert.assertEquals(sql, "select id, field1, field2 from tb order by field2"); + Assert.assertEquals(sql, "select id, field1, field2 from tb WHERE ( field1 = 'f2' )"); } }); } @@ -433,10 +433,13 @@ public class ExampleEnhancedPluginTest { public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { if (method.getName().equals("example")) { ObjectUtil tbExample = new ObjectUtil(args[0]); + // !!!! 不要使用orderBy 动态代理后对于可变参数判断有问题 if (type == 0) { - tbExample.invoke("orderBy", "field1"); + ObjectUtil criteria = new ObjectUtil(tbExample.invoke("or")); + criteria.invoke("andField1EqualTo", "f3"); } else { - tbExample.invoke("orderBy", "field2"); + ObjectUtil criteria = new ObjectUtil(tbExample.invoke("or")); + criteria.invoke("andField1EqualTo", "f2"); } return tbExample.getObject(); }