SpringBoot动态数据源连接测试的操作详解

 更新时间:2024年03月13日 09:33:13   作者:小丑代码  
这篇文章主要介绍了SpringBoot动态数据源连接测试的操作步骤,文中通过代码示例和图文结合的方式给大家讲解的非常详细,对大家的学习或工作有一定的帮助,需要的朋友可以参考下

springboot动态数据源连接测试

1.编写代码

首先创建一个DatabaseController类

// 声明为一个 Spring Boot 控制器
@RestController
public class DatabaseController {

    // POST请求映射到/test-database-connection路径
    @PostMapping("/test-database-connection")
    public String testDatabaseConnection(@RequestBody DatabaseConfig config) {
        try {
            // 创建数据源
            DataSource dataSource = createDataSource(config);
            // 使用JdbcTemplate执行SQL语句
            JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
            jdbcTemplate.execute("SELECT 1");
            // 如果连接成功,返回"ok"
            return "ok";
        } catch (Exception e) {
            // 如果发生异常,打印异常信息并返回"error"
            e.printStackTrace();
            return "error";
        }
    }

    // 创建数据源
    private DataSource createDataSource(DatabaseConfig config) {
        // 使用DriverManagerDataSource创建数据源
        DriverManagerDataSource dataSource = new DriverManagerDataSource();
        // 设置数据源的驱动类名、URL、用户名和密码
        dataSource.setDriverClassName(config.getDriverClassName());
        dataSource.setUrl(config.getUrl());
        dataSource.setUsername(config.getUsername());
        dataSource.setPassword(config.getPassword());
        return dataSource;
    }
}

再创建DatabaseConfig的实体类信息

package com.example.test111;

public class DatabaseConfig {
    private String driverClassName;
    private String url;
    private String username;
    private String password;

    // 构造函数、getter和setter方法

    public DatabaseConfig() {
    }

    public DatabaseConfig(String driverClassName, String url, String username, String password) {
        this.driverClassName = driverClassName;
        this.url = url;
        this.username = username;
        this.password = password;
    }

    public String getDriverClassName() {
        return driverClassName;
    }

    public void setDriverClassName(String driverClassName) {
        this.driverClassName = driverClassName;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

2.更改mysql的配置信息

如果你是第一次连接数据库,那你还需要更改一下mysql的配置信息

2.1进入mysql

mysql -u root -p

2.2进入user表

use mysql;

2.3更改连接权限

这个操作通常用于在需要远程访问 MySQL 数据库时,允许特定用户从任何地方连接到数据库, % 是通配符,表示允许该用户从任何主机连接到 MySQL 服务器

update user set host = '%' where user = 'root';

2.4刷新

flush privileges; 

2.5查看结果

select host,user from user;

3.测试连接

以上就是需要的所有代码,接下来我们用PostMan进行测试

3.1选取错误数据库名称

3.2选取正确的数据库名称

到此这篇关于SpringBoot动态数据源连接测试的操作详解的文章就介绍到这了,更多相关SpringBoot数据源连接测试内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • spring mvc利用ajax向controller传递对象的方法示例

    spring mvc利用ajax向controller传递对象的方法示例

    这篇文章主要给大家介绍了关于spring mvc利用ajax向controller传递对象的相关资料,文中通过示例代码将步骤介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来跟着小编一起学习学习吧。
    2017-07-07
  • springMVC实现文件上传和下载

    springMVC实现文件上传和下载

    这篇文章主要为大家详细介绍了springMVC实现文件上传和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Hibernate批量处理海量数据的方法

    Hibernate批量处理海量数据的方法

    这篇文章主要介绍了Hibernate批量处理海量数据的方法,较为详细的分析了Hibernate批量处理海量数据的原理与相关实现技巧,需要的朋友可以参考下
    2016-03-03
  • java父子线程之间实现共享传递数据

    java父子线程之间实现共享传递数据

    本文介绍了Java中父子线程间共享传递数据的几种方法,包括ThreadLocal变量、并发集合和内存队列或消息队列,并提醒注意并发安全问题
    2025-02-02
  • java实现Linux(centos) 中docker容器下命令交互的代码(配置向导)

    java实现Linux(centos) 中docker容器下命令交互的代码(配置向导)

    小编在开发项目时遇到个需求,因为系统部署每次都要多台机器拆分部署,很麻烦,怎么配置比较方便呢,今天小编给大家介绍java实现Linux(centos) 中docker容器下命令交互的代码(配置向导),感兴趣的朋友一起看看吧
    2021-05-05
  • Kotlin实现静态方法

    Kotlin实现静态方法

    这篇文章主要介绍了Kotlin实现静态方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • java swing实现贪吃蛇双人游戏

    java swing实现贪吃蛇双人游戏

    这篇文章主要为大家详细介绍了java swing实现贪吃蛇双人小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-01-01
  • Springboot自动加载配置的原理解析

    Springboot自动加载配置的原理解析

    Springboot遵循“约定优于配置”的原则,使用注解对一些常规的配置项做默认配置,减少或不使用xml配置,让你的项目快速运行起来,这篇文章主要给大家介绍了关于Springboot自动加载配置原理的相关资料,需要的朋友可以参考下
    2021-10-10
  • MyBatis-Plus中SimpleQuery查询实现

    MyBatis-Plus中SimpleQuery查询实现

    本文主要介绍了MyBatis-Plus中SimpleQuery查询实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 以银行取钱为例模拟Java多线程同步问题完整代码

    以银行取钱为例模拟Java多线程同步问题完整代码

    这篇文章主要介绍了以银行取钱为例模拟Java多线程同步问题完整代码,具有一定借鉴价值,需要的朋友可以参考下。
    2017-12-12

最新评论