2017-05-14 5 views
2
public Integer getMaxCount(String id,String type) { 
    String maxCount ="SELECT MAX(ID) AS COUNT FROM STUDENT"; 
    try { 
     return queryForObject(
      maxCount, 
      new Object[]{id,type}, 
      (rs, i) -> {return rs.getInt(COUNT);}, 
      "maxCount" 
     ); 
    } catch (EmptyResultDataAccessException ex) { 
     LOG.error(ex); 
     return 9999; 
    } 
} 

Unter Sonarverletzungen für oben genannten Block des Codes, wie zu beheben.Sonar-Verletzung

Lambdas sollte mit Verfahren ersetzt werden, verweist

Lambdas nur eine Anweisung sollte nicht verschachtelt diese Aussage in einem Block

Antwort

0

Sie enthalten nicht wirklich hier brauchen blockieren. Sie können den Wert mit dieser zurück:

(rs, i) -> rs.getInt(COUNT)