【发布时间】:2019-07-08 04:58:39
【问题描述】:
我打算使用 Spring JdbcTemplate 来访问我的数据库。使用JdbcTemplate时一定要使用spring-data-jdbc吗?我问的原因是我的应用程序中的表不需要“实体”(POJO)。如果我使用 spring-data-jdbc 会增加一些开销吗?
【问题讨论】:
标签: spring spring-boot spring-jdbc spring-data-jdbc
我打算使用 Spring JdbcTemplate 来访问我的数据库。使用JdbcTemplate时一定要使用spring-data-jdbc吗?我问的原因是我的应用程序中的表不需要“实体”(POJO)。如果我使用 spring-data-jdbc 会增加一些开销吗?
【问题讨论】:
标签: spring spring-boot spring-jdbc spring-data-jdbc
您可以在没有 Spring Data JDBC 的情况下使用 JdbcTemplate 没有问题。
JdbcTemplate 在 Spring Data JDBC 被构想之前已经存在很多年了。
Spring Data JDBC 确实涉及开销。 它从 POJO 中提取数据,创建查询并将结果转换回 POJO。 当然,这一切都需要资源。 如果您不需要/从中受益,请不要使用它。
您也可以从JdbcTemplate 开始,然后如果需要,可以毫无问题地开始使用 Spring Data JDBC。
【讨论】:
JdbcTemplate 的案例。
JdbcTemplate 是 spring-jdbc 模块的一部分,因此您只需要它(以及 sprint-tx,其中包括 DataAccessException 层次结构)。
spring-data-jdbc 在 spring-jdbc 之上添加了对 spring-data 的支持(不足为奇)。所以你不需要它来使用JdbcTemplate,就像你不需要spring-data-jpa来使用JPA EntityManager一样。
【讨论】:
spring-data-jdbc是在spring-jdbc的基础上实现的。如果根本不需要Entity,那么使用spring-jdbc直接与数据库交互是最方便灵活的。在这种情况下,使用 spring-data-jdbc 只是纯粹增加了学习成本。 spring-data-jdbc是针对DDD(Domain Driven Design)模式设计的,有别于目前主流的编程模式。学习成本不低……
【讨论】: