模板模式又叫模板方法模式,是指定义一个算法骨架,并允许子类向一个或多个步骤提供实现。模板使得子类可以在不改变算法结构的情况下,重新定义算法的某些步骤,属于行为设计模式。模板模式适用于以下场景
1.一次性实现一个算法不变的部分,并将可变的行为留给子类来实现
2.各子类中公共的行为被提取出来并集中到一个公共的父类中,从而避免代码重复
下面举个例子
创建ORM约束逻辑接口
public interface RowMapper<T> {
T mapRow(ResultSet rs,int rowNum)throws Exception;
}
创建JDBC处理流程抽象类
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.sql.DataSource;
public abstract class JdbcTemplate {
private DataSource dataSource;
public JdbcTemplate(DataSource dataSource) {
this.dataSource = dataSource;
}
public List<?> execteQuery(String sql,RowMapper<?> rowMapper,Object values[]){
try {
//获取连接
Connection conn =this.getConnection();
//创建于语句集
PreparedStatement pstm = this.createPreparedStatem