有没有一种方法可以设置Spring的NamedParameterJdbcTemplate对象的批处理大小?
我在项目中遇到了一些OutOfMemory问题,但是我可以通过在较小的块循环中调用NamedParameterJdbcTemplate来解决此问题。但这需要一些额外的工作,例如确定块大小,将大列表分解为较小的子列表等。
我想知道NamedParameterJdbcTemplate是否具有任何这种直接方式,因为我可以为其指定批处理大小。我在API文档中什么都看不到。但是他们在JDBCTemplate中有一些东西。现在,如果必须切换到JDBCTemplate,则必须重做我的代码:(
请提出建议。
最佳答案
您不能使用NamedParameterJdbcTemplate
直接执行此操作,但是可以通过已实现的NamedParameterJdbcOperations
接口调用#getJdbcOperations方法。它的返回类型JdbcOperations
当前仅由经典JdbcTemplate
实现,并具有所需的#batchUpdate方法。但是,在这种情况下,您不能使用命名参数。
请参阅Spring文档中典型用法的example。