1 spring-boot-starter-jdbc 简介

spring-boot-starter-jdbc主要提供了三个功能:第一个就是对数据源的自动装配、第二个就是提供一个JdbcTemplate简化数据库操作、第三个就是事务控制支持

spring-boot-starter-jdbc 会引入 HikariCP 数据库连接池库。

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

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

jdbcTemplate:JdbcTemplate(使用 dataSource 初始化)

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

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

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

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

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

2 mysql-connector-java 是什么

mysql-connector-java MySQL 提供的 JDBC 驱动包,用 JDBC 连接 MySQL 数据库时必须使用该 jar 包,它的主要用途有三个:

1、 与数据库建立连接

2、发送 SQL 语句

3、处理结果

不同版本 Driver 类的包路径对比

mysql-connector-java 包中的 Driver 类是 mysql 提供实现类,实现了 java.sql.Driver 的规范。在 5.x 版本中 Driver 类在 com.mysql.jdbc 包路径下,到了 6.x 版中 Driver 类    在 com.mysql.cj.jdbc 包路径下

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

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

核心区别是: mysql-connector-java是JAVA程序中真正操作mysql数据库的客户端,spring-boot-starter-jdbc中的JdbcTemplate是对JDBC的封装,底层还是调用mysql-connector-java中的方法操作mysql数据库。
1、先说一下JDBC吧,JDBC是一种规范,定义了JAVA语言如何去操作数据库,是一种接口规范。
2、再说一下mysql-connector-java,是mysql提供实现了JDBC定义的驱动,在JAVA程序中操作mysql实际上是通过调用mysql-connector-java实现的。

PS:mysql-connector-java与数据库建立连接的基础,只有与数据建立连接后spring-boot-starter-jdbc、mybatis-spring-boot-starter才可以进行sql的执行,mybatis-spring-boot-starter中包含 spring-boot-starter-jdbc所以在有mybatis-spring-boot-starter就不需要引用spring-boot-starter-jdbc

二、 Mysql + mybatis 对接实例说明

2.1 需引入pom 节点

     <!-- Mysql 接入  版本依赖 springboot 版本-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
        <!-- MyBatis-Plus Spring Boot Starter -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.4.3.3</version> <!-- 使用合适的版本号 -->
        </dependency>

2.2 配置文件

数据库部分

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/xiyi_db?useUnicode=true&characterEncoding=utf-8&useSSL=false&socketTimeout=10000&serverTimezone=GMT%2B8&autoReconnect=true
    username: root
    password: root
    driver-class-name: com.mysql.cj.jdbc.Driver
    hikari:
      maximum-pool-size: 15
      minimum-idle: 13

查找 xml  mybaits 文件部分

mybatis-plus:
  mapper-locations: classpath:mappers/*.xml,classpath:mappers/ext/*.xml
  global-config:
    db-config:
      id-type: auto

2.3 添加相应的  userInfo.xml

2.4 创建 实体、mappper接口类、service