Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring NamedParameterJdbcTemplate是否支持事务?_Java_Spring_Transactions_Spring Jdbc - Fatal编程技术网

Java Spring NamedParameterJdbcTemplate是否支持事务?

Java Spring NamedParameterJdbcTemplate是否支持事务?,java,spring,transactions,spring-jdbc,Java,Spring,Transactions,Spring Jdbc,我正在构建一个应用程序,其中我想使用SpringJDBC进行数据库访问,我正在尝试决定是否应该使用NamedParameterJdbcTemplate或TransactionTemplate TransactionTemplate的文档说明: 模板类,它简化了编程事务划分和 事务异常处理。 中心方法是#execute,支持 实现TransactionCallback接口。此模板处理 事务生命周期和可能的异常,因此 TransactionCallback实现或调用代码都不需要显式 处理交易 但是对

我正在构建一个应用程序,其中我想使用SpringJDBC进行数据库访问,我正在尝试决定是否应该使用
NamedParameterJdbcTemplate
TransactionTemplate

TransactionTemplate
的文档说明:

模板类,它简化了编程事务划分和 事务异常处理。 中心方法是#execute,支持 实现TransactionCallback接口。此模板处理 事务生命周期和可能的异常,因此 TransactionCallback实现或调用代码都不需要显式 处理交易

但是对于
NamedParameterJdbcTemplate
它只说:

带有一组基本JDBC操作的模板类,允许使用 使用命名参数而不是传统的“?”占位符。 此类委托给包装的#getJdbcOperations()JdbcTemplate 一旦完成从命名参数到JDBC样式“?”占位符的替换 在执行时完成

这是否意味着如果我在我的应用程序中配置事务管理器,即使使用
NamedParameterJdbcTemplate


如果没有,那么这两个类之间的区别是什么?我应该考虑如何选择一个类而不是另一个类?

我使用了NamedParameterJdbcTemplate,它在生产环境中工作得非常好。它比使用JdbcTemplate具有优势

如果您同时使用这两种方式,请使用基于XML的配置和@transaction注释定义自己的事务代理和边界