java 设计模式 模板方法模式

模板方法模式:定义一个算法框架,将具体实现延伸到具体的子类中,重而可以在不改变算法框架的基础上,重定义改算法。 通俗些就是我们在子类中实现了一些不变和可变的方法,这些不变和可变的方法会在子类中重复出现,我们就可以把这些不可变的方法,迁移到单一的类里面,形成一个模板类,提高代码的重复使用,让子类摆脱重复不可变方法的纠缠

很多dao层框架就用到了模板方法模式,例如spring 的jdbcTemplate

public int update(String namedsql, List<Object> paramBean) {
		return this.jdbcTemplate.update(namedsql, paramBean.toArray());
	}


	public int update(String namedsql) {
		return this.jdbcTemplate.update(namedsql);
	}

	public int commonUpdate(String namedsql, List<Object> paramValue) {
		return this.jdbcTemplate.update(namedsql, paramValue);
	}


	public T getJavaBean(String sql, Class<T> retType) {
		try {
			RowMapper<T> rowMapper = new BeanPropertyRowMapper<T>(retType);
			return this.jdbcTemplate.queryForObject(sql, rowMapper);
		} catch (IncorrectResultSizeDataAccessException e) {
			LOG.error(e, e.fillInStackTrace());
			e.printStackTrace();
			return null;
		}
	}


	public List<T> getList(String namedSql, List<Object> paramValue, Class<T> retType) {
		RowMapper<T> rowMapper = new BeanPropertyRowMapper<T>(retType);
		return this.jdbcTemplate.query(namedSql, rowMapper, paramValue.toArray());
	}


	@SuppressWarnings({ "rawtypes", "unchecked" })
	public List getListObject(String sql, List<Object> paramValue, Class retType) {
		return this.jdbcTemplate.queryForList(sql, retType, paramValue.toArray());
	}


jdbcTemplate 模板类里面定义好了增删改 查的一系列的方法,到自己封装的Dao工具类具体实现这些方法

转载于:https://my.oschina.net/u/3195939/blog/861081

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值