首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jdbctemplate,jpatemplate

jdbctemplate,jpatemplate
EN

Stack Overflow用户
提问于 2009-08-14 05:04:12
回答 3查看 1.7K关注 0票数 1

在我的dao中,在每个方法中,当我调用jdbctemplate时,我应该使用new jdbctemplate()进行调用。对吗?或者获取jdbctemplate的一个静态实例并重用?jpatemplate怎么样?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-08-14 05:08:21

在我的dao中,在每个方法中,当我调用

时,我应该使用new jdbctemplate()来调用。对吗?

不,你不需要。JdbcTemplace应该通过配置注入你的DAO中。JpaTemplate也是如此。

票数 1
EN

Stack Overflow用户

发布于 2009-08-14 07:15:45

除此之外,JdbcTemplate是非常轻量级的,它的构建成本几乎为零。因此,如果您要在每个操作上创建一个新的,可能不会有任何副作用或有意义的性能降级。这个类仅仅是JDBC API的行为包装器。按照同样的逻辑,没有理由小心地确保您只有一个JdbcTemplate对象。它应该适合您选择使用的任何设计。

大多数DAO都不会直接实例化JdbcTemplate。相反,它们是JdbcDaoSupport的子类,它为您管理一个JdbcTemplate实例。然后,您的子类调用getJdbcTemplate()来获取实例。如果您没有对JdbcDaoSupport进行子类化,那么在初始化DAO bean时创建一个JdbcTemplate实例,然后重用它。

这同样适用于其他DAO模板类(Hibernate、JPA等)。

票数 2
EN

Stack Overflow用户

发布于 2009-08-14 05:27:55

JdbcTemplate是线程安全的,所以在整个应用程序中共享它的一个实例是完全安全的(尽管只共享用于初始化JdbcTemplate的DataSource可能更有意义)。一般来说,每个类一个(非静态)实例就足够了,JdbcTemplate自己处理线程问题,除了数据库锁之外,你永远不会遇到任何并发问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1276129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档