封装与职责分离的开发思维

封装与职责分离的开发思维

 

 

1:封装:参数过多应该封装成一个对象 2:职责分离:谁拥有该数据,谁就应该包含操作该数据的方法

 

■ 举例:没有封装【多个查询条件作为参数 (String name, Integer minAge, Integer maxAge, Integer dormBuildId)

@Override public List<Teacher> query(String name, Integer minAge, Integer maxAge, Integer dormBuildId) { StringBuilder sql = new StringBuilder(); sql.append("SELECT * FROM t_teacher WHERE 1=1"); //封装占位符参数 List<Object> parameters = new ArrayList<>();
//拼接sql和设置占位符参数值

   //姓名 if (StringUtils.isNotBlank(name)) { sql.append(" AND name LIKE ?"); parameters.add("%" + name + "%"); } //最小年龄 if(minAge != null) { sql.append(" AND age >= ?"); parameters.add(minAge); } //最大年龄 if(maxAge != null) { sql.append(" AND age <= ?"); parameters.add(maxAge); } System.out.println("sql=" + sql); System.out.println("parameters=" + parameters); return JdbcTemplate.query(sql.toString(), new BeanListHandler<>(Teacher.class), parameters.toArray()); }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgyfsd.html