14赞
1004
当前位置:  开发笔记 > 编程语言 > 正文

spring-jdbcvsspring-data-jdbc以及它们支持的内容

如何解决《spring-jdbcvsspring-data-jdbc以及它们支持的内容》经验,为你挑选了1个好方法。

我很好奇spring-jdbc(我在最新的spring发行版中遗漏的内容)和spring-data-jdbc之间的区别是什么.
有没有区别或只是重命名(在存储库中我没有看到这个)?

是否在某处描述了版本支持的目标(DB/JDBC规范/ JDK)?

例如,对于来自oracle的普通JDBC,我可以在这里看到这些信息:http: //www.oracle.com/technetwork/database/enterprise-edition/jdbc-faq-090281.html#01_03_1
(例如:ojdbc7中的JDBC Spec 4.1. Oracle DB 12.1/12cR1上的Java7/Java8上的jar

但我想念spring-jdbc - 我在哪里可以找到这些信息?



1> Dovmo..:

弹簧jdbc`

文档spring-jdbc基本上在这里:

https://docs.spring.io/spring/docs/current/spring-framework-reference/data-access.html

虽然它没有特别指出你的Spring项目spring-jdbc.这个项目只提供了DataSource可以与Spring Framework一起使用的普通JDBC的所有Spring抽象.例如,春天DataSource小号它很好地钩到Spring的事务管理功能,如@Transactional注释.此外,它JdbcTemplate是此模块的一部分,它允许您执行SQL语句并从Resultsets中提取对象,而无需处理异常处理或正确关闭语句,连接等的令人讨厌的细节.

spring-data-jdbc

spring-data-jdbc另一方面,提供了Spring Data抽象spring-jdbc.也就是说,你可以创建一个Spring数据CrudRepository和一个简单的"实体"(不是JPA实体!),并且像Spring Data一样,它将为你创建查询,而不必在JDBC上编写本机CRUD查询,如本例所示在spring-data-examplesgit repo上.

使用引用的示例作为演示:

interface CategoryRepository extends CrudRepository {}

上面的代码是您可能需要的所有内容(使用Category对象名称的内省作为表名的源(基于a NamingStrategy),并将其属性作为列,再次类似于JPA,但不使用JPA.

而不是像这样写自己的:

@Repository
public class CategoryRepository {
   public void create(Category category) {
      jdbcTemplate.execute("insert...");
   }

  // The rest of my other CRUD operations
}


推荐阅读
author-avatar
小老特
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有