泛型用在类和方法上的写法



如果是用在 类上

public abstract class AbstractBatchBaseDao<T>

把 <T> 加在 类名上, 说明 后面 就定义了要用这个类型

比如它的子类像

public class BatchAgentProfitDaoImpl extends AbstractBatchBaseDao<AgentProfitRecord>{
...



比如在 AbstractBatchBaseDao 里面 放了 一个方法
protected void doBatch(String sql, List<T> beanList){
...
setParameter(ps,bean); 放了这个方法, 说明必须子类实现这个方法
...
}

所以在实现类 BatchAgentProfitDaoImpl 也有这个方法
@Override
public void setParameter(PreparedStatement ps, AgentProfitRecord agentProfitRecord) {

ps.setLong(1, agentProfitRecord.getBATID());




而如果使用 泛型的方法, 就会更加灵活, paramable是一个接口, 实现交给客户端来实现 取代之前必须要从自身实现一个 setParameter的方法 ,

protected <U> void doBatch(String sql, List<U> beanList, JDBCParamable<U> paramable){

paramable.setParamter(ps, bean)

}

就是用接口而不是抽象类 的一个例子

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值