Skip to content

Commit cb7fe79

Browse files
committed
根据李领北建议修改propertyMap#159
1 parent 5c35807 commit cb7fe79

File tree

3 files changed

+20
-7
lines changed

3 files changed

+20
-7
lines changed

src/main/java/tk/mybatis/mapper/entity/EntityTable.java

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,7 @@
3131
import tk.mybatis.mapper.util.StringUtil;
3232

3333
import javax.persistence.Table;
34-
import java.util.ArrayList;
35-
import java.util.List;
36-
import java.util.Set;
34+
import java.util.*;
3735

3836
/**
3937
* 数据库表
@@ -55,6 +53,8 @@ public class EntityTable {
5553
private List<String> keyColumns;
5654
//resultMap对象
5755
private ResultMap resultMap;
56+
//属性和列对应
57+
protected Map<String, EntityColumn> propertyMap;
5858
//类
5959
private Class<?> entityClass;
6060

@@ -215,4 +215,18 @@ public ResultMap getResultMap(Configuration configuration) {
215215
this.resultMap = builder.build();
216216
return this.resultMap;
217217
}
218+
219+
/**
220+
* 初始化 - Example 会使用
221+
*/
222+
public void initPropertyMap() {
223+
propertyMap = new HashMap<String, EntityColumn>(getEntityClassColumns().size());
224+
for (EntityColumn column : getEntityClassColumns()) {
225+
propertyMap.put(column.getProperty(), column);
226+
}
227+
}
228+
229+
public Map<String, EntityColumn> getPropertyMap() {
230+
return propertyMap;
231+
}
218232
}

src/main/java/tk/mybatis/mapper/entity/Example.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -91,10 +91,8 @@ public Example(Class<?> entityClass, boolean exists, boolean notNull) {
9191
oredCriteria = new ArrayList<Criteria>();
9292
this.entityClass = entityClass;
9393
table = EntityHelper.getEntityTable(entityClass);
94-
propertyMap = new HashMap<String, EntityColumn>(table.getEntityClassColumns().size());
95-
for (EntityColumn column : table.getEntityClassColumns()) {
96-
propertyMap.put(column.getProperty(), column);
97-
}
94+
//根据李领北建议修改#159
95+
propertyMap = table.getPropertyMap();
9896
this.ORDERBY = new OrderBy(this, propertyMap);
9997
}
10098

src/main/java/tk/mybatis/mapper/mapperhelper/EntityHelper.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ public static synchronized void initEntityNameMap(Class<?> entityClass, Config c
223223
if (entityTable.getEntityClassPKColumns().size() == 0) {
224224
entityTable.setEntityClassPKColumns(entityTable.getEntityClassColumns());
225225
}
226+
entityTable.initPropertyMap();
226227
entityTableMap.put(entityClass, entityTable);
227228
}
228229

0 commit comments

Comments
 (0)