spring-jdbc
的文档spring-jdbc
基本上在这里:
https://docs.spring.io/spring/docs/current/spring-framework-reference/data-access.html
虽然它并没有特别指出你的 Spring 项目spring-jdbc
。这个项目只是提供了所有DataSource
可以与 Spring 框架一起使用的普通 JDBC 上的 Spring 抽象。例如,Spring 的DataSource
s很好地与 Spring 的事务管理功能挂钩,如@Transactional
注解。此外,这JdbcTemplate
是该模块的一部分,它允许您执行 SQL 语句并从ResultSet
s 中提取对象,而无需处理异常处理或正确关闭语句、连接等的令人讨厌的细节。
spring-data-jdbc
spring-data-jdbc
,另一方面,提供 Spring Data 抽象超过spring-jdbc
. 也就是说,您可以创建一个 Spring DataCrudRepository
和一个简单的“实体”(不是 JPA 实体!),并且正如 Spring Data 所做的那样,它会为您创建查询,而无需您通过 JDBC 编写本机 CRUD 查询,如下所示spring-data-examples
git repo上的示例。
使用引用的示例作为演示:
interface CategoryRepository extends CrudRepository<Category, Long> {}
上面的代码就是您所需要的(使用对Category
对象名称的自省作为表名的源(基于 a NamingStrategy
)并将其属性作为列,再次类似于 JPA,但不使用 JPA。
而不是像这样编写自己的:
@Repository
public class CategoryRepository {
public void create(Category category) {
jdbcTemplate.execute("insert...");
}
// The rest of my other CRUD operations
}