在使用条件in的sql的时候 使用NamedParameterJdbcTemplat
public Object getXXX(String roleAuth, long roleId){
NamedParameterJdbcTemplate nameJdbc = new NamedParameterJdbcTemplate(this.getJdbcTemplate());
Map<String,Object> params = new HashMap<String,Object>();
String queryParam0 = "";
String queryParam1 = "";
List<String> roleIdList = new ArrayList<String>();
if(!StringUtils.isEmpty(roleAuth)){
String[] roleIdNum = roleAuth.split(",");
for(int i = 0; i < roleIdNum.length; i++) {
roleIdList.add(roleIdNum[i]);
}
params.put("roleIdList", roleIdList);
queryParam0 = " role_id in(:roleIdList) or ";
}
if(roleId != 0){
params.put("roleId", roleId);
queryParam1 = " where ( "+queryParam0+" role_id = :roleId ) ";
}
String sql="select * from t_role "+queryParam1+" order by role_name";
return nameJdbc.query(sql , params, new roleMapper());
}