我必须在服务层调用大约20,000个callDb。下面的代码需要30分钟,因为我创建的是SimpleJdbcCall对象everytime..How,我可以避免为每次调用创建SimpleJdbcCall对象。
@Repository
public class JdbcActorDao {
void callDb ( )
{
SimpleJdbcCall simpleJdbcCall =
new SimpleJdbcCall(jdbcTemplate)
.withProcedureName("read_actor")
.withoutProcedureColumnMetaDataAccess()
.useInParameterNames("in_id")
.declareParameters(
new SqlParameter("in_id", Types.NUMERIC),
new SqlOutParameter("out_first_name", Types.VARCHAR),
new SqlOutParameter("out_last_name", Types.VARCHAR),
new SqlOutParameter("out_birth_date", Types.DATE)
);
}
simpleJdbcCall.execute(...) ;
}发布于 2020-09-24 01:47:50
您可以将simpleJdbcCall作为字段添加到类中,并添加一个@PostConstruct方法来初始化SimpleJdbcCall。
像这样
private SimpleJdbcCall simpleJdbcCall;
@PostConstruct
public void init() {
simpleJdbcCall = new SimpleJdbcCall(jdbcTemplate)
.withProcedureName("read_actor")
.withoutProcedureColumnMetaDataAccess()
.useInParameterNames("in_id")
.declareParameters(
new SqlParameter("in_id", Types.NUMERIC),
new SqlOutParameter("out_first_name", Types.VARCHAR),
new SqlOutParameter("out_last_name", Types.VARCHAR),
new SqlOutParameter("out_birth_date", Types.DATE)
);
}
public void performCall() {
simpleJdbcCall.execute(...) ;
}https://stackoverflow.com/questions/64032728
复制相似问题