简介
有一天在整理依赖项时,发现 spring 提供了两个相似功能的 starter 包
- spring-boot-starter-jdbc
- spring-boot-starter-data-jdbc
结论:jdbc
是最基础的包,data-jdbc
则提供了curdRepository
快捷开发接口。一个是基础版,一个是升级版。
区别
spring-jdbc:
提供基础的 Spring 抽象类,包括 DataSource
等,帮助你在 Spring 框架下链接数据库。同时支持使用 JdbcTemplate
连接数据库、执行 SQL 语句。
import javax.sql.DataSource;
import org.springframework.jdbc.core.JdbcTemplate;
public class RunAQuery {
private JdbcTemplate jdbcTemplate;
public void setDataSource(DataSource dataSource) {
this.jdbcTemplate = new JdbcTemplate(dataSource);
}
public int getCount() {
return this.jdbcTemplate.queryForObject("select count(*) from mytable", Integer.class);
}
public String getName() {
return this.jdbcTemplate.queryForObject("select name from mytable", String.class);
}
}
spring-data-jdbc:
除了基础的数据库连接功能,还额外提供了 CrudRepository ,如下所示:
@Repository
public interface UserRepository extends CrudRepository<User, Long> {
}
仅需继承该接口,便可以直接使用基础增删改查功能
同时,支持 JPA
官方示例代码:spring-projects/spring-data-examples
参考链接
- spring-jdbc文档地址
- spring-data-jdbc 文档地址
更多推荐
spring-boot-starter-jdbc 和 spring-boot-starter-data-jdbc 的区别
发布评论