数据库-jdbc、spring-jdbc、spring-boot-starter-jdbc

1、jdbc

JDBC是一种用于执行SQL语句的API,可以为多种关系数据库提供统一访问,它是由一组用Java语言编写的类和接口。是Java访问数据库的标准规范。

JDBC是Java提供的一种标准规范,具体的实现由各个数据库厂商去实现。对开发者来说屏蔽了不同数据库之间的区别,可以使用相同的方式(Java API)去操作不同的数据库。两个设备之间要进行通信需要驱动,不同数据库厂商对JDBC的实现类就是去连接数据库的驱动。如mysql-connector-java连接mysql数据库的驱动。

扩展

如何使用jdbc链接并操作数据库呢

使用JDBC连接数据库的步骤

  1. 注册驱动,这里的执行 就需要驱动jar包即 mysql-connector-java
// mysql 数据库:“com.mysql.jdbc.Driver”
Class.forName(driver);
  1. 建立数据库连接 Connection

Connection conn=DriverManager.getConnection(url,userName,password);
  1. 创建Statement对象 用来执行SQL语句

Statement statement =conn.createStatement();
  1. 执行SQL语句
ResultSet rs =statement.executeQuery(sql);
  1. 处理结果
  2. 释放资源

数据库连接池

在使用JDBC进行数据库操作过程中,每次使用就要创建连接,同时使用完毕还必须得关闭连接,操作繁琐容易出错,并且Connection的取得和释放是代价比较高的操作。解决这个问题的方法就是连接池。连接池就是事先取得一定数量的Connection,程序执行处理的时候不是新建Connection,而是取得预先准备好的Connection。

DataSource

提供连接池能力的技术叫做DataSource。DataSource是JDK提供一个标准接口在javax.sql.DataSource包下。常见的DBCP、C3P0、druid等。

        

二、spring-jdbc

Spring JDBC是Spring所提供的持久层技术,他主要目的降低JDBC API的使用难度,以一种更直接、更简洁的方式使用JDBC API。

三、spring-boot-starter-jdbc

1、spring-boot-starter-jdbc主要提供了三个功能:

第一个就是对数据源的自动装配

第二个就是提供一个JdbcTemplate简化数据库操作

第三个就是事务控制支持 

2、spring-boot-starter-jdbc,会引入以下两个依赖

        1、HikariCP 数据库连接池库

        2、spring-jdbc

3、自动配置  

    dataSource:DataSource(com.zaxxer.hikari.HikariDataSource,读取 spring.datasource 配置)

    transactionManager:PlatformTransactionManager(DateSourceTransactionManager,使用 dataSource 初始化)

    jdbcTemplate:JdbcTemplate(使用 dataSource 初始化)

  自动逻辑

    放置在类路径下的 schema.sql 会自动用来初始化表结构

    放置在类路径下的 data.sql 会自动用来填充表数据

4、默认支持的数据源

    默认支持 Hikari,tomcat-jdbc,dbcp,dbcp2,Generic这五种数据源。

    如果引入了 Hikari 就会创建 Hikari 的 DataSource,否则创建 tomcat-jdbc 的DataSource,以此类推。

    强制默认创建指定的 DataSource:spring.datasource.type=com.zaxxer.hikari.HikariDataSource 

5、spring-boot-starter-jdbc和mybatis-spring-boot-starter区别

  spring-boot-starter-jdbc是springboot提供的,但是如果引入了mybatis-spring-boot-starter,就不再需要单独引入spring-boot-starter-jdbc了,这是由于mybatis已经包含了此依赖

参考资料:从jdbc到spring-boot-starter-jdbc - 在线打工者 - 博客园

mysql-connector-java详解_毛惜时的博客-CSDN博客

spring-boot-starter-jdbc、mysql-connector-java、mybatis-spring-boot-starter区别及说明 - liyanbo - 博客园

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mybatis-spring-boot-starterspring-boot-starter-jdbc 是用于在 Spring Boot 项目中连接数据库的两个依赖包。它们有不同的功能和用途。 mybatis-spring-boot-starter 是 MyBatis 官方提供的一个 Spring Boot Starter,它包含了使用 MyBatis 进行数据库访问所需的所有依赖。通过引入 mybatis-spring-boot-starter,您可以方便地使用 MyBatis 进行数据库操作,而无需单独引入 spring-boot-starter-jdbcspring-boot-starter-jdbcSpring Boot 官方提供的一个 Starter,用于支持使用 JDBC 进行数据库访问。如果您不使用 MyBatis,而只是使用 SpringJdbcTemplate 进行数据库操作,那么您需要引入 spring-boot-starter-jdbc 依赖。它提供了一些必要的配置和支持,使您可以方便地使用 JDBC 进行数据库访问 。 引用的内容中提到,如果您已经引入了 mybatis-spring-boot-starter,那么您不再需要单独引入 spring-boot-starter-jdbc。这是因为 mybatis-spring-boot-starter 已经包含了 spring-boot-starter-jdbc 的依赖。这样,您就可以直接使用 MyBatis 进行数据库操作,而无需关注底层的 JDBC 配置 。 总结起来,mybatis-spring-boot-starter 是用于集成 MyBatis 的 Spring Boot Starter,而 spring-boot-starter-jdbc 是用于支持使用 JDBC 进行数据库操作的 Spring Boot Starter。如果您使用 MyBatis,建议直接引入 mybatis-spring-boot-starter,它已经包含了必要的 JDBC 依赖。如果您只是使用 SpringJdbcTemplate,那么需要引入 spring-boot-starter-jdbc

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值