1:yml配置类
spring:datasource:name: texturl: jdbc:mysql://192.168.11.50:3306/dsdd?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=UTCusername: rootpassword: rootdriver-class-name: com.mysql.cj.jdbc.Driver
这样启动项目,没有检查到是否连接数据库成功
2:数据库配置类(添加数据库检查)
package com.example.poi.utils;/*** @Author xu* @create 2023/8/22 21*/
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.jdbc.datasource.DriverManagerDataSource;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;@Configuration
public class DatabaseConfig {@Value("${spring.datasource.url}")private String dataSourceUrl;@Value("${spring.datasource.username}")private String dataSourceUsername;@Value("${spring.datasource.password}")private String dataSourcePassword;@Value("${spring.datasource.driver-class-name}")private String dataSourceDriverClassName;@Beanpublic DataSource dataSource() {DriverManagerDataSource dataSource = new DriverManagerDataSource();dataSource.setUrl(dataSourceUrl);dataSource.setUsername(dataSourceUsername);dataSource.setPassword(dataSourcePassword);dataSource.setDriverClassName(dataSourceDriverClassName);testConnection(dataSource); // 调用检查连接方法return dataSource;}private void testConnection(DataSource dataSource) {try (Connection connection = dataSource.getConnection()) {System.out.println("数据库连接正常!");} catch (SQLException e) {// 连接异常处理//e.printStackTrace();throw new RuntimeException("数据库连接异常!");}}
}
3:或者通过在启动类添加数据库检测
@SpringBootApplication
public class YourApplication {public static void main(String[] args) {ConfigurableApplicationContext context = SpringApplication.run(YourApplication.class, args);// 检查数据库连接是否正常try {/** 获取DataSource bean,并调用getConnection()方法测试连接*/context.getBean(javax.sql.DataSource.class).getConnection();System.out.println("数据库连接正常!");} catch (Exception e) {System.err.println("数据库连接异常:" + e.getMessage());// 处理连接异常的逻辑}}
}