“Spring Boot连MySQL”的版本间的差异

来自姬鸿昌的知识库
跳到导航 跳到搜索
第47行: 第47行:
 
</project>
 
</project>
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
有的地方说还要指定 mysql-connector-java 的 version,才可以良好兼容,比如:
  
  
第57行: 第59行:
 
     password: 123456
 
     password: 123456
 
#    type: com.zaxxer.hikari.HikariDataSource
 
#    type: com.zaxxer.hikari.HikariDataSource
</syntaxhighlight>默认使用的 数据源/连接池 实现就是 Hikari
+
</syntaxhighlight>
 +
 
 +
===== 去哪找 url? =====
 +
 
 +
 
 +
 
 +
默认使用的 数据源/连接池 实现就是 Hikari
  
 
可以查看 spring-boot-autoconfigure-x.x.x.jar 中的自动配置类:<syntaxhighlight lang="java">
 
可以查看 spring-boot-autoconfigure-x.x.x.jar 中的自动配置类:<syntaxhighlight lang="java">

2022年12月12日 (一) 06:09的版本

https://www.bilibili.com/video/BV19K4y1L7MT/?p=60

pom.xml

继承

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 ……
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.4.0</version>
    </parent>
……
</project>



添加依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
……
    <dependencies>
……
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jdbc</artifactId>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>
……
    </dependencies>
……

</project>

有的地方说还要指定 mysql-connector-java 的 version,才可以良好兼容,比如:


application.xml

spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/guns
    username: root
    password: 123456
#    type: com.zaxxer.hikari.HikariDataSource
去哪找 url?

默认使用的 数据源/连接池 实现就是 Hikari

可以查看 spring-boot-autoconfigure-x.x.x.jar 中的自动配置类:

package org.springframework.boot.autoconfigure.jdbc;
……
abstract class DataSourceConfiguration {
	@Configuration(proxyBeanMethods = false)
	@ConditionalOnClass(HikariDataSource.class)
	@ConditionalOnMissingBean(DataSource.class)
	@ConditionalOnProperty(name = "spring.datasource.type", havingValue = "com.zaxxer.hikari.HikariDataSource",
			matchIfMissing = true)
	static class Hikari {

		@Bean
		@ConfigurationProperties(prefix = "spring.datasource.hikari")
		HikariDataSource dataSource(DataSourceProperties properties) {
			HikariDataSource dataSource = createDataSource(properties, HikariDataSource.class);
			if (StringUtils.hasText(properties.getName())) {
				dataSource.setPoolName(properties.getName());
			}
			return dataSource;
		}

	}
……

注入使用