@@ -128,11 +128,9 @@ public Cache useNewCache(Class<? extends Cache> typeClass,
128
128
boolean readWrite ,
129
129
boolean blocking ,
130
130
Properties props ) {
131
- typeClass = valueOrDefault (typeClass , PerpetualCache .class );
132
- evictionClass = valueOrDefault (evictionClass , LruCache .class );
133
131
Cache cache = new CacheBuilder (currentNamespace )
134
- .implementation (typeClass )
135
- .addDecorator (evictionClass )
132
+ .implementation (valueOrDefault ( typeClass , PerpetualCache . class ) )
133
+ .addDecorator (valueOrDefault ( evictionClass , LruCache . class ) )
136
134
.clearInterval (flushInterval )
137
135
.size (size )
138
136
.readWrite (readWrite )
@@ -146,8 +144,7 @@ public Cache useNewCache(Class<? extends Cache> typeClass,
146
144
147
145
public ParameterMap addParameterMap (String id , Class <?> parameterClass , List <ParameterMapping > parameterMappings ) {
148
146
id = applyCurrentNamespace (id , false );
149
- ParameterMap .Builder parameterMapBuilder = new ParameterMap .Builder (configuration , id , parameterClass , parameterMappings );
150
- ParameterMap parameterMap = parameterMapBuilder .build ();
147
+ ParameterMap parameterMap = new ParameterMap .Builder (configuration , id , parameterClass , parameterMappings ).build ();
151
148
configuration .addParameterMap (parameterMap );
152
149
return parameterMap ;
153
150
}
@@ -167,13 +164,13 @@ public ParameterMapping buildParameterMapping(
167
164
Class <?> javaTypeClass = resolveParameterJavaType (parameterType , property , javaType , jdbcType );
168
165
TypeHandler <?> typeHandlerInstance = resolveTypeHandler (javaTypeClass , typeHandler );
169
166
170
- ParameterMapping . Builder builder = new ParameterMapping .Builder (configuration , property , javaTypeClass );
171
- builder .jdbcType (jdbcType );
172
- builder .resultMapId (resultMap );
173
- builder .mode (parameterMode );
174
- builder .numericScale (numericScale );
175
- builder .typeHandler (typeHandlerInstance );
176
- return builder .build ();
167
+ return new ParameterMapping .Builder (configuration , property , javaTypeClass )
168
+ .jdbcType (jdbcType )
169
+ .resultMapId (resultMap )
170
+ .mode (parameterMode )
171
+ .numericScale (numericScale )
172
+ .typeHandler (typeHandlerInstance )
173
+ .build ();
177
174
}
178
175
179
176
public ResultMap addResultMap (
@@ -186,7 +183,6 @@ public ResultMap addResultMap(
186
183
id = applyCurrentNamespace (id , false );
187
184
extend = applyCurrentNamespace (extend , true );
188
185
189
- ResultMap .Builder resultMapBuilder = new ResultMap .Builder (configuration , id , type , resultMappings , autoMapping );
190
186
if (extend != null ) {
191
187
if (!configuration .hasResultMap (extend )) {
192
188
throw new IncompleteElementException ("Could not find a parent resultmap with id '" + extend + "'" );
@@ -212,8 +208,9 @@ public ResultMap addResultMap(
212
208
}
213
209
resultMappings .addAll (extendedResultMappings );
214
210
}
215
- resultMapBuilder .discriminator (discriminator );
216
- ResultMap resultMap = resultMapBuilder .build ();
211
+ ResultMap resultMap = new ResultMap .Builder (configuration , id , type , resultMappings , autoMapping )
212
+ .discriminator (discriminator )
213
+ .build ();
217
214
configuration .addResultMap (resultMap );
218
215
return resultMap ;
219
216
}
@@ -246,8 +243,7 @@ public Discriminator buildDiscriminator(
246
243
resultMap = applyCurrentNamespace (resultMap , true );
247
244
namespaceDiscriminatorMap .put (e .getKey (), resultMap );
248
245
}
249
- Discriminator .Builder discriminatorBuilder = new Discriminator .Builder (configuration , resultMapping , namespaceDiscriminatorMap );
250
- return discriminatorBuilder .build ();
246
+ return new Discriminator .Builder (configuration , resultMapping , namespaceDiscriminatorMap ).build ();
251
247
}
252
248
253
249
public MappedStatement addMappedStatement (
@@ -279,22 +275,28 @@ public MappedStatement addMappedStatement(
279
275
id = applyCurrentNamespace (id , false );
280
276
boolean isSelect = sqlCommandType == SqlCommandType .SELECT ;
281
277
282
- MappedStatement .Builder statementBuilder = new MappedStatement .Builder (configuration , id , sqlSource , sqlCommandType );
283
- statementBuilder .resource (resource );
284
- statementBuilder .fetchSize (fetchSize );
285
- statementBuilder .timeout (timeout );
286
- statementBuilder .statementType (statementType );
287
- statementBuilder .keyGenerator (keyGenerator );
288
- statementBuilder .keyProperty (keyProperty );
289
- statementBuilder .keyColumn (keyColumn );
290
- statementBuilder .databaseId (databaseId );
291
- statementBuilder .lang (lang );
292
- statementBuilder .resultOrdered (resultOrdered );
293
- statementBuilder .resulSets (resultSets );
294
-
295
- setStatementParameterMap (parameterMap , parameterType , statementBuilder );
296
- setStatementResultMap (resultMap , resultType , resultSetType , statementBuilder );
297
- setStatementCache (isSelect , flushCache , useCache , currentCache , statementBuilder );
278
+ MappedStatement .Builder statementBuilder = new MappedStatement .Builder (configuration , id , sqlSource , sqlCommandType )
279
+ .resource (resource )
280
+ .fetchSize (fetchSize )
281
+ .timeout (timeout )
282
+ .statementType (statementType )
283
+ .keyGenerator (keyGenerator )
284
+ .keyProperty (keyProperty )
285
+ .keyColumn (keyColumn )
286
+ .databaseId (databaseId )
287
+ .lang (lang )
288
+ .resultOrdered (resultOrdered )
289
+ .resulSets (resultSets )
290
+ .resultMaps (getStatementResultMaps (resultMap , resultType , id ))
291
+ .resultSetType (resultSetType )
292
+ .flushCacheRequired (valueOrDefault (flushCache , !isSelect ))
293
+ .useCache (valueOrDefault (useCache , isSelect ))
294
+ .cache (currentCache );
295
+
296
+ ParameterMap statementParameterMap = getStatementParameterMap (parameterMap , parameterType , id );
297
+ if (statementParameterMap != null ) {
298
+ statementBuilder .parameterMap (statementParameterMap );
299
+ }
298
300
299
301
MappedStatement statement = statementBuilder .build ();
300
302
configuration .addMappedStatement (statement );
@@ -305,47 +307,33 @@ private <T> T valueOrDefault(T value, T defaultValue) {
305
307
return value == null ? defaultValue : value ;
306
308
}
307
309
308
- private void setStatementCache (
309
- boolean isSelect ,
310
- boolean flushCache ,
311
- boolean useCache ,
312
- Cache cache ,
313
- MappedStatement .Builder statementBuilder ) {
314
- flushCache = valueOrDefault (flushCache , !isSelect );
315
- useCache = valueOrDefault (useCache , isSelect );
316
- statementBuilder .flushCacheRequired (flushCache );
317
- statementBuilder .useCache (useCache );
318
- statementBuilder .cache (cache );
319
- }
320
-
321
- private void setStatementParameterMap (
322
- String parameterMap ,
310
+ private ParameterMap getStatementParameterMap (
311
+ String parameterMapName ,
323
312
Class <?> parameterTypeClass ,
324
- MappedStatement . Builder statementBuilder ) {
325
- parameterMap = applyCurrentNamespace (parameterMap , true );
326
-
327
- if (parameterMap != null ) {
313
+ String statementId ) {
314
+ parameterMapName = applyCurrentNamespace (parameterMapName , true );
315
+ ParameterMap parameterMap = null ;
316
+ if (parameterMapName != null ) {
328
317
try {
329
- statementBuilder . parameterMap ( configuration .getParameterMap (parameterMap ) );
318
+ parameterMap = configuration .getParameterMap (parameterMapName );
330
319
} catch (IllegalArgumentException e ) {
331
- throw new IncompleteElementException ("Could not find parameter map " + parameterMap , e );
320
+ throw new IncompleteElementException ("Could not find parameter map " + parameterMapName , e );
332
321
}
333
322
} else if (parameterTypeClass != null ) {
334
323
List <ParameterMapping > parameterMappings = new ArrayList <ParameterMapping >();
335
- ParameterMap . Builder inlineParameterMapBuilder = new ParameterMap .Builder (
324
+ parameterMap = new ParameterMap .Builder (
336
325
configuration ,
337
- statementBuilder . id () + "-Inline" ,
326
+ statementId + "-Inline" ,
338
327
parameterTypeClass ,
339
- parameterMappings );
340
- statementBuilder .parameterMap (inlineParameterMapBuilder .build ());
328
+ parameterMappings ).build ();
341
329
}
330
+ return parameterMap ;
342
331
}
343
332
344
- private void setStatementResultMap (
333
+ private List < ResultMap > getStatementResultMaps (
345
334
String resultMap ,
346
335
Class <?> resultType ,
347
- ResultSetType resultSetType ,
348
- MappedStatement .Builder statementBuilder ) {
336
+ String statementId ) {
349
337
resultMap = applyCurrentNamespace (resultMap , true );
350
338
351
339
List <ResultMap > resultMaps = new ArrayList <ResultMap >();
@@ -359,17 +347,15 @@ private void setStatementResultMap(
359
347
}
360
348
}
361
349
} else if (resultType != null ) {
362
- ResultMap . Builder inlineResultMapBuilder = new ResultMap .Builder (
350
+ ResultMap inlineResultMap = new ResultMap .Builder (
363
351
configuration ,
364
- statementBuilder . id () + "-Inline" ,
352
+ statementId + "-Inline" ,
365
353
resultType ,
366
354
new ArrayList <ResultMapping >(),
367
- null );
368
- resultMaps .add (inlineResultMapBuilder . build () );
355
+ null ). build () ;
356
+ resultMaps .add (inlineResultMap );
369
357
}
370
- statementBuilder .resultMaps (resultMaps );
371
-
372
- statementBuilder .resultSetType (resultSetType );
358
+ return resultMaps ;
373
359
}
374
360
375
361
public ResultMapping buildResultMapping (
@@ -393,19 +379,19 @@ public ResultMapping buildResultMapping(
393
379
if (composites .size () > 0 ) {
394
380
column = null ;
395
381
}
396
- ResultMapping . Builder builder = new ResultMapping .Builder (configuration , property , column , javaTypeClass );
397
- builder .jdbcType (jdbcType );
398
- builder .nestedQueryId (applyCurrentNamespace (nestedSelect , true ));
399
- builder .nestedResultMapId (applyCurrentNamespace (nestedResultMap , true ));
400
- builder .resultSet (resultSet );
401
- builder .typeHandler (typeHandlerInstance );
402
- builder .flags (flags == null ? new ArrayList <ResultFlag >() : flags );
403
- builder .composites (composites );
404
- builder .notNullColumns (parseMultipleColumnNames (notNullColumn ));
405
- builder .columnPrefix (columnPrefix );
406
- builder .foreignColumn (foreignColumn );
407
- builder .lazy (lazy );
408
- return builder .build ();
382
+ return new ResultMapping .Builder (configuration , property , column , javaTypeClass )
383
+ .jdbcType (jdbcType )
384
+ .nestedQueryId (applyCurrentNamespace (nestedSelect , true ))
385
+ .nestedResultMapId (applyCurrentNamespace (nestedResultMap , true ))
386
+ .resultSet (resultSet )
387
+ .typeHandler (typeHandlerInstance )
388
+ .flags (flags == null ? new ArrayList <ResultFlag >() : flags )
389
+ .composites (composites )
390
+ .notNullColumns (parseMultipleColumnNames (notNullColumn ))
391
+ .columnPrefix (columnPrefix )
392
+ .foreignColumn (foreignColumn )
393
+ .lazy (lazy )
394
+ .build ();
409
395
}
410
396
411
397
private Set <String > parseMultipleColumnNames (String columnName ) {
@@ -431,8 +417,9 @@ private List<ResultMapping> parseCompositeColumnName(String columnName) {
431
417
while (parser .hasMoreTokens ()) {
432
418
String property = parser .nextToken ();
433
419
String column = parser .nextToken ();
434
- ResultMapping .Builder complexBuilder = new ResultMapping .Builder (configuration , property , column , configuration .getTypeHandlerRegistry ().getUnknownTypeHandler ());
435
- composites .add (complexBuilder .build ());
420
+ ResultMapping complexResultMapping = new ResultMapping .Builder (
421
+ configuration , property , column , configuration .getTypeHandlerRegistry ().getUnknownTypeHandler ()).build ();
422
+ composites .add (complexResultMapping );
436
423
}
437
424
}
438
425
return composites ;
0 commit comments