Skip to content

Commit 48f278f

Browse files
committed
将几乎全部的ArrayList改为LinedList
1 parent 2a65a50 commit 48f278f

File tree

4 files changed

+38
-38
lines changed

4 files changed

+38
-38
lines changed

src/main/java/com/github/abel533/entity/Example.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
import com.github.abel533.mapperhelper.EntityHelper;
2828

29-
import java.util.ArrayList;
29+
import java.util.LinkedList;
3030
import java.util.HashMap;
3131
import java.util.List;
3232
import java.util.Map;
@@ -68,7 +68,7 @@ public Example(Class<?> entityClass) {
6868
*/
6969
public Example(Class<?> entityClass, boolean exists) {
7070
this.exists = exists;
71-
oredCriteria = new ArrayList<Criteria>();
71+
oredCriteria = new LinkedList<Criteria>();
7272
this.entityClass = entityClass;
7373
table = EntityHelper.getEntityTable(entityClass);
7474
propertyMap = new HashMap<String, EntityHelper.EntityColumn>(table.getEntityClassColumns().size());
@@ -144,7 +144,7 @@ protected GeneratedCriteria(Map<String, EntityHelper.EntityColumn> propertyMap)
144144
protected GeneratedCriteria(Map<String, EntityHelper.EntityColumn> propertyMap, boolean exists) {
145145
super();
146146
this.exists = exists;
147-
criteria = new ArrayList<Criterion>();
147+
criteria = new LinkedList<Criterion>();
148148
this.propertyMap = propertyMap;
149149
}
150150

src/main/java/com/github/abel533/mapperhelper/EntityHelper.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public String[] getKeyProperties() {
109109

110110
public void setKeyProperties(String keyProperty) {
111111
if (this.keyProperties == null) {
112-
this.keyProperties = new ArrayList<String>();
112+
this.keyProperties = new LinkedList<String>();
113113
this.keyProperties.add(keyProperty);
114114
} else {
115115
this.keyProperties.add(keyProperty);
@@ -125,7 +125,7 @@ public String[] getKeyColumns() {
125125

126126
public void setKeyColumns(String keyColumn) {
127127
if (this.keyColumns == null) {
128-
this.keyColumns = new ArrayList<String>();
128+
this.keyColumns = new LinkedList<String>();
129129
this.keyColumns.add(keyColumn);
130130
} else {
131131
this.keyColumns.add(keyColumn);
@@ -575,7 +575,7 @@ public static char toUpperAscii(char c) {
575575
*/
576576
private static List<Field> getAllField(Class<?> entityClass, List<Field> fieldList) {
577577
if (fieldList == null) {
578-
fieldList = new ArrayList<Field>();
578+
fieldList = new LinkedList<Field>();
579579
}
580580
if (entityClass.equals(Object.class)) {
581581
return fieldList;
@@ -656,7 +656,7 @@ public static List<?> maplist2BeanList(List<?> mapList, Class<?> beanClass) {
656656
if (mapList == null || mapList.size() == 0) {
657657
return null;
658658
}
659-
List list = new ArrayList<Object>(mapList.size());
659+
List list = new LinkedList<Object>();
660660
for (Object map : mapList) {
661661
list.add(map2Bean((Map) map, beanClass));
662662
}

src/main/java/com/github/abel533/mapperhelper/MapperTemplate.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ public static String getMethodName(String msId) {
240240
protected List<ParameterMapping> getPrimaryKeyParameterMappings(MappedStatement ms) {
241241
Class<?> entityClass = getSelectReturnType(ms);
242242
Set<EntityHelper.EntityColumn> entityColumns = EntityHelper.getPKColumns(entityClass);
243-
List<ParameterMapping> parameterMappings = new ArrayList<ParameterMapping>();
243+
List<ParameterMapping> parameterMappings = new LinkedList<ParameterMapping>();
244244
for (EntityHelper.EntityColumn column : entityColumns) {
245245
ParameterMapping.Builder builder = new ParameterMapping.Builder(ms.getConfiguration(), column.getProperty(), column.getJavaType());
246246
builder.mode(ParameterMode.IN);
@@ -351,7 +351,7 @@ protected SqlNode getColumnEqualsProperty(EntityHelper.EntityColumn column, bool
351351
protected SqlNode getAllIfColumnNode(Class<?> entityClass) {
352352
//获取全部列
353353
Set<EntityHelper.EntityColumn> columnList = EntityHelper.getColumns(entityClass);
354-
List<SqlNode> ifNodes = new ArrayList<SqlNode>();
354+
List<SqlNode> ifNodes = new LinkedList<SqlNode>();
355355
boolean first = true;
356356
//对所有列循环,生成<if test="property!=null">column = #{property}</if>
357357
for (EntityHelper.EntityColumn column : columnList) {
@@ -370,7 +370,7 @@ protected SqlNode getAllIfColumnNode(Class<?> entityClass) {
370370
protected List<ParameterMapping> getColumnParameterMappings(MappedStatement ms) {
371371
Class<?> entityClass = getSelectReturnType(ms);
372372
Set<EntityHelper.EntityColumn> entityColumns = EntityHelper.getColumns(entityClass);
373-
List<ParameterMapping> parameterMappings = new ArrayList<ParameterMapping>();
373+
List<ParameterMapping> parameterMappings = new LinkedList<ParameterMapping>();
374374
for (EntityHelper.EntityColumn column : entityColumns) {
375375
ParameterMapping.Builder builder = new ParameterMapping.Builder(ms.getConfiguration(), column.getProperty(), column.getJavaType());
376376
builder.mode(ParameterMode.IN);
@@ -414,20 +414,20 @@ protected void newSelectKeyMappedStatement(MappedStatement ms, EntityHelper.Enti
414414
statementBuilder.resulSets(null);
415415
statementBuilder.timeout(configuration.getDefaultStatementTimeout());
416416

417-
List<ParameterMapping> parameterMappings = new ArrayList<ParameterMapping>();
417+
List<ParameterMapping> parameterMappings = new LinkedList<ParameterMapping>();
418418
ParameterMap.Builder inlineParameterMapBuilder = new ParameterMap.Builder(
419419
configuration,
420420
statementBuilder.id() + "-Inline",
421421
entityClass,
422422
parameterMappings);
423423
statementBuilder.parameterMap(inlineParameterMapBuilder.build());
424424

425-
List<ResultMap> resultMaps = new ArrayList<ResultMap>();
425+
List<ResultMap> resultMaps = new LinkedList<ResultMap>();
426426
ResultMap.Builder inlineResultMapBuilder = new ResultMap.Builder(
427427
configuration,
428428
statementBuilder.id() + "-Inline",
429429
column.getJavaType(),
430-
new ArrayList<ResultMapping>(),
430+
new LinkedList<ResultMapping>(),
431431
null);
432432
resultMaps.add(inlineResultMapBuilder.build());
433433
statementBuilder.resultMaps(resultMaps);
@@ -463,15 +463,15 @@ protected void newSelectKeyMappedStatement(MappedStatement ms, EntityHelper.Enti
463463
}
464464

465465
public IfSqlNode ExampleValidSqlNode(Configuration configuration) {
466-
List<SqlNode> whenSqlNodes = new ArrayList<SqlNode>();
466+
List<SqlNode> whenSqlNodes = new LinkedList<SqlNode>();
467467
IfSqlNode noValueSqlNode = new IfSqlNode(new TextSqlNode(" and ${criterion.condition}"), "criterion.noValue");
468468
whenSqlNodes.add(noValueSqlNode);
469469
IfSqlNode singleValueSqlNode = new IfSqlNode(new TextSqlNode(" and ${criterion.condition} #{criterion.value}"), "criterion.singleValue");
470470
whenSqlNodes.add(singleValueSqlNode);
471471
IfSqlNode betweenValueSqlNode = new IfSqlNode(new TextSqlNode(" and ${criterion.condition} #{criterion.value} and #{criterion.secondValue}"), "criterion.betweenValue");
472472
whenSqlNodes.add(betweenValueSqlNode);
473473

474-
List<SqlNode> listValueContentSqlNodes = new ArrayList<SqlNode>();
474+
List<SqlNode> listValueContentSqlNodes = new LinkedList<SqlNode>();
475475
listValueContentSqlNodes.add(new TextSqlNode(" and ${criterion.condition}"));
476476
ForEachSqlNode listValueForEachSqlNode = new ForEachSqlNode(configuration, new StaticTextSqlNode("#{listItem}"), "criterion.value", null, "listItem", "(", ")", ",");
477477
listValueContentSqlNodes.add(listValueForEachSqlNode);

src/main/java/com/github/abel533/provider/MapperProvider.java

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
import org.apache.ibatis.mapping.ParameterMapping;
3434
import org.apache.ibatis.scripting.xmltags.*;
3535

36-
import java.util.ArrayList;
36+
import java.util.LinkedList;
3737
import java.util.List;
3838
import java.util.Set;
3939

@@ -58,7 +58,7 @@ public SqlNode selectOne(MappedStatement ms) {
5858
Class<?> entityClass = getSelectReturnType(ms);
5959
//修改返回值类型为实体类型
6060
setResultType(ms, entityClass);
61-
List<SqlNode> sqlNodes = new ArrayList<SqlNode>();
61+
List<SqlNode> sqlNodes = new LinkedList<SqlNode>();
6262
//静态的sql部分:select column ... from table
6363
sqlNodes.add(new StaticTextSqlNode("SELECT "
6464
+ EntityHelper.getSelectColumns(entityClass)
@@ -79,7 +79,7 @@ public SqlNode select(MappedStatement ms) {
7979
Class<?> entityClass = getSelectReturnType(ms);
8080
//修改返回值类型为实体类型
8181
setResultType(ms, entityClass);
82-
List<SqlNode> sqlNodes = new ArrayList<SqlNode>();
82+
List<SqlNode> sqlNodes = new LinkedList<SqlNode>();
8383
//静态的sql部分:select column ... from table
8484
sqlNodes.add(new StaticTextSqlNode("SELECT "
8585
+ EntityHelper.getSelectColumns(entityClass)
@@ -138,7 +138,7 @@ public void selectByPrimaryKey(MappedStatement ms) {
138138
*/
139139
public SqlNode selectCount(MappedStatement ms) {
140140
Class<?> entityClass = getSelectReturnType(ms);
141-
List<SqlNode> sqlNodes = new ArrayList<SqlNode>();
141+
List<SqlNode> sqlNodes = new LinkedList<SqlNode>();
142142
//select count(*) from table
143143
sqlNodes.add(new StaticTextSqlNode("SELECT COUNT(*) FROM " + tableName(entityClass)));
144144
//获取全部列的where,if条件
@@ -154,7 +154,7 @@ public SqlNode selectCount(MappedStatement ms) {
154154
*/
155155
public SqlNode insert(MappedStatement ms) {
156156
Class<?> entityClass = getSelectReturnType(ms);
157-
List<SqlNode> sqlNodes = new ArrayList<SqlNode>();
157+
List<SqlNode> sqlNodes = new LinkedList<SqlNode>();
158158
//insert into table
159159
sqlNodes.add(new StaticTextSqlNode("INSERT INTO " + tableName(entityClass)));
160160
//获取全部列
@@ -188,7 +188,7 @@ public SqlNode insert(MappedStatement ms) {
188188
}
189189
//插入全部的(列名,列名...)
190190
sqlNodes.add(new StaticTextSqlNode("(" + EntityHelper.getAllColumns(entityClass) + ")"));
191-
List<SqlNode> ifNodes = new ArrayList<SqlNode>();
191+
List<SqlNode> ifNodes = new LinkedList<SqlNode>();
192192
//处理所有的values(属性值,属性值...)
193193
for (EntityHelper.EntityColumn column : columnList) {
194194
//优先使用传入的属性值,当原属性property!=null时,用原属性
@@ -225,12 +225,12 @@ public SqlNode insert(MappedStatement ms) {
225225
*/
226226
public SqlNode insertSelective(MappedStatement ms) {
227227
Class<?> entityClass = getSelectReturnType(ms);
228-
List<SqlNode> sqlNodes = new ArrayList<SqlNode>();
228+
List<SqlNode> sqlNodes = new LinkedList<SqlNode>();
229229
//insert into table
230230
sqlNodes.add(new StaticTextSqlNode("INSERT INTO " + tableName(entityClass)));
231231
//获取全部列
232232
Set<EntityHelper.EntityColumn> columnList = EntityHelper.getColumns(entityClass);
233-
List<SqlNode> ifNodes = new ArrayList<SqlNode>();
233+
List<SqlNode> ifNodes = new LinkedList<SqlNode>();
234234
//Identity列只能有一个
235235
Boolean hasIdentityKey = false;
236236
//当某个列有主键策略时,不需要考虑他的属性是否为空,因为如果为空,一定会根据主键策略给他生成一个值
@@ -265,7 +265,7 @@ public SqlNode insertSelective(MappedStatement ms) {
265265
//将动态的列加入sqlNodes
266266
sqlNodes.add(new TrimSqlNode(ms.getConfiguration(), new MixedSqlNode(ifNodes), "(", null, ")", ","));
267267

268-
ifNodes = new ArrayList<SqlNode>();
268+
ifNodes = new LinkedList<SqlNode>();
269269
//处理values(#{property},#{property}...)
270270
for (EntityHelper.EntityColumn column : columnList) {
271271
//当参数中的属性值不为空的时候,使用传入的值
@@ -296,7 +296,7 @@ public SqlNode insertSelective(MappedStatement ms) {
296296
*/
297297
public SqlNode delete(MappedStatement ms) {
298298
Class<?> entityClass = getSelectReturnType(ms);
299-
List<SqlNode> sqlNodes = new ArrayList<SqlNode>();
299+
List<SqlNode> sqlNodes = new LinkedList<SqlNode>();
300300
//delete from table
301301
sqlNodes.add(new StaticTextSqlNode("DELETE FROM " + tableName(entityClass)));
302302
//where/if判断条件
@@ -332,12 +332,12 @@ public void deleteByPrimaryKey(MappedStatement ms) {
332332
*/
333333
public SqlNode updateByPrimaryKey(MappedStatement ms) {
334334
Class<?> entityClass = getSelectReturnType(ms);
335-
List<SqlNode> sqlNodes = new ArrayList<SqlNode>();
335+
List<SqlNode> sqlNodes = new LinkedList<SqlNode>();
336336
//update table
337337
sqlNodes.add(new StaticTextSqlNode("UPDATE " + tableName(entityClass)));
338338
//获取全部列
339339
Set<EntityHelper.EntityColumn> columnList = EntityHelper.getColumns(entityClass);
340-
List<SqlNode> ifNodes = new ArrayList<SqlNode>();
340+
List<SqlNode> ifNodes = new LinkedList<SqlNode>();
341341
for (EntityHelper.EntityColumn column : columnList) {
342342
if (!column.isId()) {
343343
ifNodes.add(new StaticTextSqlNode(column.getColumn() + " = #{" + column.getProperty() + "}, "));
@@ -346,7 +346,7 @@ public SqlNode updateByPrimaryKey(MappedStatement ms) {
346346
sqlNodes.add(new SetSqlNode(ms.getConfiguration(), new MixedSqlNode(ifNodes)));
347347
//获取全部的主键的列
348348
columnList = EntityHelper.getPKColumns(entityClass);
349-
List<SqlNode> whereNodes = new ArrayList<SqlNode>();
349+
List<SqlNode> whereNodes = new LinkedList<SqlNode>();
350350
boolean first = true;
351351
//where 主键=#{property} 条件
352352
for (EntityHelper.EntityColumn column : columnList) {
@@ -365,12 +365,12 @@ public SqlNode updateByPrimaryKey(MappedStatement ms) {
365365
*/
366366
public SqlNode updateByPrimaryKeySelective(MappedStatement ms) {
367367
Class<?> entityClass = getSelectReturnType(ms);
368-
List<SqlNode> sqlNodes = new ArrayList<SqlNode>();
368+
List<SqlNode> sqlNodes = new LinkedList<SqlNode>();
369369
//update table
370370
sqlNodes.add(new StaticTextSqlNode("UPDATE " + tableName(entityClass)));
371371
//获取全部列
372372
Set<EntityHelper.EntityColumn> columnList = EntityHelper.getColumns(entityClass);
373-
List<SqlNode> ifNodes = new ArrayList<SqlNode>();
373+
List<SqlNode> ifNodes = new LinkedList<SqlNode>();
374374
//全部的if property!=null and property!=''
375375
for (EntityHelper.EntityColumn column : columnList) {
376376
if (!column.isId()) {
@@ -381,7 +381,7 @@ public SqlNode updateByPrimaryKeySelective(MappedStatement ms) {
381381
sqlNodes.add(new SetSqlNode(ms.getConfiguration(), new MixedSqlNode(ifNodes)));
382382
//获取全部的主键的列
383383
columnList = EntityHelper.getPKColumns(entityClass);
384-
List<SqlNode> whereNodes = new ArrayList<SqlNode>();
384+
List<SqlNode> whereNodes = new LinkedList<SqlNode>();
385385
boolean first = true;
386386
//where 主键=#{property} 条件
387387
for (EntityHelper.EntityColumn column : columnList) {
@@ -401,7 +401,7 @@ public SqlNode updateByPrimaryKeySelective(MappedStatement ms) {
401401
public SqlNode selectCountByExample(MappedStatement ms) {
402402
Class<?> entityClass = getSelectReturnType(ms);
403403

404-
List<SqlNode> sqlNodes = new ArrayList<SqlNode>();
404+
List<SqlNode> sqlNodes = new LinkedList<SqlNode>();
405405
//静态的sql部分:select column ... from table
406406
sqlNodes.add(new StaticTextSqlNode("SELECT COUNT(*) FROM " + tableName(entityClass)));
407407
IfSqlNode ifNullSqlNode = new IfSqlNode(exampleWhereClause(ms.getConfiguration()), "_parameter != null");
@@ -418,7 +418,7 @@ public SqlNode selectCountByExample(MappedStatement ms) {
418418
public SqlNode deleteByExample(MappedStatement ms) {
419419
Class<?> entityClass = getSelectReturnType(ms);
420420

421-
List<SqlNode> sqlNodes = new ArrayList<SqlNode>();
421+
List<SqlNode> sqlNodes = new LinkedList<SqlNode>();
422422
//静态的sql部分:select column ... from table
423423
sqlNodes.add(new StaticTextSqlNode("DELETE FROM " + tableName(entityClass)));
424424
IfSqlNode ifNullSqlNode = new IfSqlNode(exampleWhereClause(ms.getConfiguration()), "_parameter != null");
@@ -437,7 +437,7 @@ public SqlNode selectByExample(MappedStatement ms) {
437437
Class<?> entityClass = getSelectReturnType(ms);
438438
//将返回值修改为实体类型
439439
setResultType(ms, entityClass);
440-
List<SqlNode> sqlNodes = new ArrayList<SqlNode>();
440+
List<SqlNode> sqlNodes = new LinkedList<SqlNode>();
441441
//静态的sql部分:select column ... from table
442442
sqlNodes.add(new StaticTextSqlNode("SELECT"));
443443
IfSqlNode distinctSqlNode = new IfSqlNode(new StaticTextSqlNode("DISTINCT"), "distinct");
@@ -473,12 +473,12 @@ public SqlNode selectByExampleAndRowBounds(MappedStatement ms) {
473473
*/
474474
public SqlNode updateByExampleSelective(MappedStatement ms) {
475475
Class<?> entityClass = getSelectReturnType(ms);
476-
List<SqlNode> sqlNodes = new ArrayList<SqlNode>();
476+
List<SqlNode> sqlNodes = new LinkedList<SqlNode>();
477477
//update table
478478
sqlNodes.add(new StaticTextSqlNode("UPDATE " + tableName(entityClass)));
479479
//获取全部列
480480
Set<EntityHelper.EntityColumn> columnList = EntityHelper.getColumns(entityClass);
481-
List<SqlNode> ifNodes = new ArrayList<SqlNode>();
481+
List<SqlNode> ifNodes = new LinkedList<SqlNode>();
482482

483483
for (EntityHelper.EntityColumn column : columnList) {
484484
if (!column.isId()) {
@@ -501,12 +501,12 @@ public SqlNode updateByExampleSelective(MappedStatement ms) {
501501
*/
502502
public SqlNode updateByExample(MappedStatement ms) {
503503
Class<?> entityClass = getSelectReturnType(ms);
504-
List<SqlNode> sqlNodes = new ArrayList<SqlNode>();
504+
List<SqlNode> sqlNodes = new LinkedList<SqlNode>();
505505
//update table
506506
sqlNodes.add(new StaticTextSqlNode("UPDATE " + tableName(entityClass)));
507507
//获取全部列
508508
Set<EntityHelper.EntityColumn> columnList = EntityHelper.getColumns(entityClass);
509-
List<SqlNode> setSqlNodes = new ArrayList<SqlNode>();
509+
List<SqlNode> setSqlNodes = new LinkedList<SqlNode>();
510510
//全部的if property!=null and property!=''
511511
for (EntityHelper.EntityColumn column : columnList) {
512512
if (!column.isId()) {

0 commit comments

Comments
 (0)