【问题标题】:Is it a must to use spring-data-jdbc when using JdbcTemplate?使用JdbcTemplate时必须使用spring-data-jdbc吗?
【发布时间】:2019-07-08 04:58:39
【问题描述】:

我打算使用 Spring JdbcTemplate 来访问我的数据库。使用JdbcTemplate时一定要使用spring-data-jdbc吗?我问的原因是我的应用程序中的表不需要“实体”(POJO)。如果我使用 spring-data-jdbc 会增加一些开销吗?

【问题讨论】:

    标签: spring spring-boot spring-jdbc spring-data-jdbc


    【解决方案1】:

    您可以在没有 Spring Data JDBC 的情况下使用 JdbcTemplate 没有问题。 JdbcTemplate 在 Spring Data JDBC 被构想之前已经存在很多年了。

    Spring Data JDBC 确实涉及开销。 它从 POJO 中提取数据,创建查询并将结果转换回 POJO。 当然,这一切都需要资源。 如果您不需要/从中受益,请不要使用它。

    您也可以从JdbcTemplate 开始,然后如果需要,可以毫无问题地开始使用 Spring Data JDBC。

    【讨论】:

    • 感谢您的回复。我需要一些建议。我的应用程序通过 Web 服务端点从数据库生成 csv 文件。你能想到使用 spring-data-jdbc 有什么好处吗?
    • 所以基本上每个文件选择一个并用一些分隔符转储结果?对我来说,这听起来像是纯 JdbcTemplate 的案例。
    【解决方案2】:

    JdbcTemplatespring-jdbc 模块的一部分,因此您只需要它(以及 sprint-tx,其中包括 DataAccessException 层次结构)。

    spring-data-jdbc 在 spring-jdbc 之上添加了对 spring-data 的支持(不足为奇)。所以你不需要它来使用JdbcTemplate,就像你不需要spring-data-jpa来使用JPA EntityManager一样。

    【讨论】:

      【解决方案3】:

      spring-data-jdbc是在spring-jdbc的基础上实现的。如果根本不需要Entity,那么使用spring-jdbc直接与数据库交互是最方便灵活的。在这种情况下,使用 spring-data-jdbc 只是纯粹增加了学习成本。 spring-data-jdbc是针对DDD(Domain Driven Design)模式设计的,有别于目前主流的编程模式。学习成本不低……

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-01
        • 2015-02-20
        • 2021-01-06
        • 2020-12-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-22
        相关资源
        最近更新 更多