Spring Jdbc 4 事务管理

huangapple go评论78阅读模式
英文:

Spring Jdbc 4 transaction management

问题

我对Spring还很陌生(即使是我目前使用的4.0.3版本)。在某些代码中,我必须进行扩展,JdbcTemplate被唯一使用,一个实例在多个对象之间共享,以便将所有的SQL语句放在同一个事务下。我想使用NamedParameterJdbcTemplate,所以我通过以下方式获取一个实例:

NamedParameterJdbcTemplate npJT = new NamedParameterJdbcTemplate(givenJdbcTemplate.getDataSource());

不幸的是,npJTgivenJdbcTemplate似乎没有共享同一个事务。这对我来说是个问题,我该如何解决这个问题,以便让我使用npJT执行的所有SQL语句都与givenJdbcTemplate在同一个事务中?

英文:

I'm new to Spring (even to version 4.0.3 that I am currently using). In some code I have to extend, JdbcTemplate is uniquely used, an instance is shared among objects to keep all the sql statements under the same transaction. I'd like to use NamedParameterJdbcTemplate so I get one by using

NamedParameterJdbcTemplate npJT = new NamedParameterJdbcTemplate(givenJdbcTemplate.getDataSource());

Sadly npJT and givenJdbcTemplate look not to share the same transaction. This is an issue for me, how can I overcome this problem and keep all the sql instruction I'll do by using npJT in the same transaction as givenJdbcTemplate?

答案1

得分: 0

只需使用另一个 构造函数,该构造函数可以将 JdbcTemplate 作为参数,并将您的 JdbcTemplate 传递给它。

NamedParameterJdbcTemplate npJT = new NamedParameterJdbcTemplate(givenJdbcTemplate);
英文:

Just use the other constructor which can take a JdbcTemplate as a parmeter and pass your JdbcTemplate to it.

NamedParameterJdbcTemplate npJT = new NamedParameterJdbcTemplate(givenJdbcTemplate);

huangapple
  • 本文由 发表于 2020年4月10日 23:15:53
  • 转载请务必保留本文链接:https://go.coder-hub.com/61143298.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定