1.JdbcTemplate
使用 NamedParameterJdbcTemplate
2.使用List传递而不是 数组[]
数组转List的方法:
先装箱 ,转为引用类型,再转为List<T>
例子:
long[] itmes 转为 List<Long>
1) Arrays.asList(ArrayUtils.toObject(items)) 2) JAVA 8 方式:
LongStream.of(items).boxed().collect(Collectors.toList())
public List<TeacherScoreModel> selectListRecentTimesEvalInfo(Long tenantId ,long[] items,List<String> teacherNoList){
if (items ==null || items.length == 0) {
log.warn("items size is 0.");
return new ArrayList<>();
}
if (Inspections.isEmpty(teacherNoList)) {
log.warn("teacherNoList is 0.");
return new ArrayList<>();
}
log.info("1.2.2/1.3.2最近几次评教 tenantId={},items={},teacherNoList={}",tenantId,items,teacherNoList);
String sql = " SELECT teacher_name,teacher_no,total_score,analysis_item_id,analysis_item_name FROM getv001_teacher_score_by_teacher " +
" WHERE tenant_id=:tenantId AND teacher_no IN (:teacherNoList) AND analysis_item_id IN (:items) ORDER BY analysis_item_id ASC";
Map<String, Object> params = new HashMap<>();
params.put("tenantId", tenantId);
params.put("teacherNoList", teacherNoList);
params.put("items",Arrays.asList(ArrayUtils.toObject(items)));
List<TeacherScoreModel> list=jdbcTemplate.query(sql, params,new BeanPropertyRowMapper(TeacherScoreModel.class));
log.info("1.2.2/1.3.2最近几次评教 list={}",list);
return list;
}