diff --git a/extra/pom.xml b/extra/pom.xml index 9cdeafce1..e5cc3bc8b 100644 --- a/extra/pom.xml +++ b/extra/pom.xml @@ -39,6 +39,7 @@ 1.8 1.1.5 + -Dfile.encoding=UTF-8 diff --git a/extra/src/main/java/tk/mybatis/mapper/additional/aggregation/AggregationProvider.java b/extra/src/main/java/tk/mybatis/mapper/additional/aggregation/AggregationProvider.java index 4b1086826..3fc1f9e71 100644 --- a/extra/src/main/java/tk/mybatis/mapper/additional/aggregation/AggregationProvider.java +++ b/extra/src/main/java/tk/mybatis/mapper/additional/aggregation/AggregationProvider.java @@ -37,13 +37,13 @@ public static String aggregationSelectClause(Class entityClass, String wrapKe if (StringUtil.isNotEmpty(condition.getAggregateAliasName())) { selectBuilder.append(condition.getAggregateAliasName()); } else { - selectBuilder.append(wrapKeyword(wrapKeyword, columnName)); + selectBuilder.append(wrapKeyword(wrapKeyword, condition.getAggregateProperty())); } if (condition.getGroupByProperties() != null && condition.getGroupByProperties().size() > 0) { for (String property : condition.getGroupByProperties()) { selectBuilder.append(", "); columnName = propertyMap.get(property).getColumn(); - selectBuilder.append(columnName).append(" AS ").append(wrapKeyword(wrapKeyword, columnName)); + selectBuilder.append(columnName).append(" AS ").append(wrapKeyword(wrapKeyword, property)); } } return selectBuilder.toString(); diff --git a/extra/src/test/java/tk/mybatis/mapper/additional/aggregation/AggregationMapperTest.java b/extra/src/test/java/tk/mybatis/mapper/additional/aggregation/AggregationMapperTest.java index 5118a378a..46cb7b38b 100644 --- a/extra/src/test/java/tk/mybatis/mapper/additional/aggregation/AggregationMapperTest.java +++ b/extra/src/test/java/tk/mybatis/mapper/additional/aggregation/AggregationMapperTest.java @@ -39,7 +39,7 @@ public void testCount() { try { UserMapper mapper = sqlSession.getMapper(UserMapper.class); AggregateCondition aggregateCondition = AggregateCondition.builder(). - aggregateBy("id").aliasName("total").aggregateType(AggregateType.COUNT).groupBy("role"); + aggregateBy("id").aliasName("total").aggregateType(AggregateType.COUNT).groupBy("roLe"); Example example = new Example(User.class); List m = mapper.selectAggregationByExample(example, aggregateCondition); Assert.assertEquals(2, m.size()); @@ -86,9 +86,9 @@ public void testMax() { try { UserMapper mapper = sqlSession.getMapper(UserMapper.class); AggregateCondition aggregateCondition = AggregateCondition.builder(). - aggregateBy("id").aliasName("aggregation").aggregateType(AggregateType.MAX).groupBy("role"); + aggregateBy("id").aliasName("aggregation").aggregateType(AggregateType.MAX).groupBy("roLe"); Example example = new Example(User.class); - example.setOrderByClause("role desc"); + example.setOrderByClause("ro_le desc"); List m = mapper.selectAggregationByExample(example, aggregateCondition); Assert.assertEquals(2, m.size()); Assert.assertEquals(new Long(6), m.get(0).getAggregation()); diff --git a/extra/src/test/java/tk/mybatis/mapper/additional/aggregation/CreateDB.sql b/extra/src/test/java/tk/mybatis/mapper/additional/aggregation/CreateDB.sql index 17683093f..f8a6e6c20 100644 --- a/extra/src/test/java/tk/mybatis/mapper/additional/aggregation/CreateDB.sql +++ b/extra/src/test/java/tk/mybatis/mapper/additional/aggregation/CreateDB.sql @@ -3,12 +3,12 @@ drop table user if exists; create table user ( id integer NOT NULL PRIMARY KEY, name varchar(32), - role VARCHAR(32) + ro_le VARCHAR(32) ); -INSERT INTO user (id, name, role) VALUES (1, 'Angola', 'Admin'); -INSERT INTO user (id, name, role) VALUES (2, 'Afghanistan', 'Admin'); -INSERT INTO user (id, name, role) VALUES (3, 'Albania', 'Admin'); -INSERT INTO user (id, name, role) VALUES (4, 'Algeria', 'USER'); -INSERT INTO user (id, name, role) VALUES (5, 'Andorra', 'USER'); -INSERT INTO user (id, name, role) VALUES (6, 'Anguilla', 'USER'); \ No newline at end of file +INSERT INTO user (id, name, ro_le) VALUES (1, 'Angola', 'Admin'); +INSERT INTO user (id, name, ro_le) VALUES (2, 'Afghanistan', 'Admin'); +INSERT INTO user (id, name, ro_le) VALUES (3, 'Albania', 'Admin'); +INSERT INTO user (id, name, ro_le) VALUES (4, 'Algeria', 'USER'); +INSERT INTO user (id, name, ro_le) VALUES (5, 'Andorra', 'USER'); +INSERT INTO user (id, name, ro_le) VALUES (6, 'Anguilla', 'USER'); \ No newline at end of file diff --git a/extra/src/test/java/tk/mybatis/mapper/additional/aggregation/User.java b/extra/src/test/java/tk/mybatis/mapper/additional/aggregation/User.java index 61f6b51ad..38baecea6 100644 --- a/extra/src/test/java/tk/mybatis/mapper/additional/aggregation/User.java +++ b/extra/src/test/java/tk/mybatis/mapper/additional/aggregation/User.java @@ -36,7 +36,7 @@ public class User implements Serializable { @Id private Long id; private String name; - private String role; + private String roLe; //存储聚合函数值 @Transient private Long aggregation; @@ -57,12 +57,12 @@ public void setName(String name) { this.name = name; } - public String getRole() { - return role; + public String getRoLe() { + return roLe; } - public void setRole(String role) { - this.role = role; + public void setRoLe(String roLe) { + this.roLe = roLe; } public Long getAggregation() {