独立使用 JdcbTemplate

发布于 2024-09-05 05:58:38 字数 198 浏览 6 评论 0原文

我们正在考虑使用 JdbcTemplate 来访问数据库 - 但我们有许多不同的数据库连接,每个类都可以使用,因此注入 jdbcTemplate 不是一个选项。那么如果我们做一个

jdbcTemplate = new JdbcTemplate(dataSource);

交易政策会是什么?数据库中的自动提交已关闭。

We are looking into using the JdbcTemplate for accessing the DB - but we have many different DB-connections, that each class could use, so injecting the jdbcTemplate is not an option atm. So if we do a

jdbcTemplate = new JdbcTemplate(dataSource);

what will the transaction policy be? Auto-commit is off in the DB.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

你与昨日 2024-09-12 05:58:38

您可以配置每个 javax.sql.DataSource 对象以启用自动提交(如果该对象可以完成任务),或者禁用自动提交并以编程方式编写事务逻辑。

java.sql.Connectionjavax.sql.DataSource 类都具有启用/禁用自动提交的方法。

关于依赖注入和 Spring,您仍然可以将数据源对象注入到存储库中。如果您还让每个存储库扩展 org.springframework.jdbc.core.support.JdbcDaoSupport 类,那么您就可以使用派生的 getJdbcTemplate() 来使用 JdbcTemplate 对象方法。

您还可以让 Spring 为您处理事务处理。如果没有 XA 事务管理器,则每个数据源都需要一个事务管理器。对于许多事务管理器来说,使用 @Transactional 注释进行声明性事务支持是不可能的。但是,您可以将事务管理器注入到您的服务类中。参考文档 此处

You can configure each javax.sql.DataSource object to enable auto-commit if that does the job, or disable auto-commit and write the transaction logic programatically.

Both the java.sql.Connection and the javax.sql.DataSource class have methods for enable/disable auto-commit.

Regarding dependency injection and Spring, you can still inject a datasource object into your repository. If you also let each repository extend the org.springframework.jdbc.core.support.JdbcDaoSupport class, then you have a JdbcTemplate object available for you with the derived getJdbcTemplate() method.

You can also let Spring handle the transaction handling for you. Without a XA transaction manager, you need one transaction manager for each datasource. With many transaction managers, declarative transaction support with the @Transactional annotation is impossible. You can however, inject the transaction manager into your service class. This is described in the reference documentation here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文