@Overridepublic List query(String name, Integer minAge, Integer maxAge, Integer dormBuildId) {StringBuilder sql = new StringBuilder();sql.append("SELECT * FROM t_teacher WHERE 1=1");//封装占位符参数List
@Data
public class TeacherQueryObject {private String name;private Integer minAge;private Integer maxAge;private Integer dormBuildId;
}
■ 没有实现职责分离的情况:
@Override public List query(TeacherQueryObject tqo) { StringBuilder sql = new StringBuilder(); sql.append("SELECT * FROM t_teacher WHERE 1=1"); //封装占位符参数 List
// 拼接sql语句和设置占位符参数值 //姓名 if (StringUtils.isNotBlank(tqo.getName())) { sql.append(" AND name LIKE ?"); parameters.add("%" + tqo.getName() + "%"); }