假如写一个查询操作函数,要求函数的返回类型有多种可能,就应该按如下面一段代码,使用模板抽象类,新加一个执行查询的抽象函数doQuery,这个函数在动态生成对象的时候根据实际需要被继承重写;然后调用execute来启动被重写的查询函数
public abstract class Query<T> extends JDBCTemplate<T>{
@Override
public T execute() throws Exception
{
Connection conn=getConnection();
try{
T result=doQuery(conn);
return result;
}catch(Exception e)
{
throw e;
}finally
{
conn.close();
}
}
abstract protected T doQuery(Connection conn)throws Exception;
}