SpringBoot動(dòng)態(tài)數(shù)據(jù)源連接測(cè)試的操作詳解
springboot動(dòng)態(tài)數(shù)據(jù)源連接測(cè)試
1.編寫代碼
首先創(chuàng)建一個(gè)DatabaseController類
// 聲明為一個(gè) Spring Boot 控制器 @RestController public class DatabaseController { // POST請(qǐng)求映射到/test-database-connection路徑 @PostMapping("/test-database-connection") public String testDatabaseConnection(@RequestBody DatabaseConfig config) { try { // 創(chuàng)建數(shù)據(jù)源 DataSource dataSource = createDataSource(config); // 使用JdbcTemplate執(zhí)行SQL語(yǔ)句 JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); jdbcTemplate.execute("SELECT 1"); // 如果連接成功,返回"ok" return "ok"; } catch (Exception e) { // 如果發(fā)生異常,打印異常信息并返回"error" e.printStackTrace(); return "error"; } } // 創(chuàng)建數(shù)據(jù)源 private DataSource createDataSource(DatabaseConfig config) { // 使用DriverManagerDataSource創(chuàng)建數(shù)據(jù)源 DriverManagerDataSource dataSource = new DriverManagerDataSource(); // 設(shè)置數(shù)據(jù)源的驅(qū)動(dòng)類名、URL、用戶名和密碼 dataSource.setDriverClassName(config.getDriverClassName()); dataSource.setUrl(config.getUrl()); dataSource.setUsername(config.getUsername()); dataSource.setPassword(config.getPassword()); return dataSource; } }
再創(chuàng)建DatabaseConfig的實(shí)體類信息
package com.example.test111; public class DatabaseConfig { private String driverClassName; private String url; private String username; private String password; // 構(gòu)造函數(shù)、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的配置信息
如果你是第一次連接數(shù)據(jù)庫(kù),那你還需要更改一下mysql的配置信息
2.1進(jìn)入mysql
mysql -u root -p
2.2進(jìn)入user表
use mysql;
2.3更改連接權(quán)限
這個(gè)操作通常用于在需要遠(yuǎn)程訪問(wèn) MySQL 數(shù)據(jù)庫(kù)時(shí),允許特定用戶從任何地方連接到數(shù)據(jù)庫(kù), %
是通配符,表示允許該用戶從任何主機(jī)連接到 MySQL 服務(wù)器
update user set host = '%' where user = 'root';
2.4刷新
flush privileges;
2.5查看結(jié)果
select host,user from user;
3.測(cè)試連接
以上就是需要的所有代碼,接下來(lái)我們用PostMan進(jìn)行測(cè)試
3.1選取錯(cuò)誤數(shù)據(jù)庫(kù)名稱
3.2選取正確的數(shù)據(jù)庫(kù)名稱
到此這篇關(guān)于SpringBoot動(dòng)態(tài)數(shù)據(jù)源連接測(cè)試的操作詳解的文章就介紹到這了,更多相關(guān)SpringBoot數(shù)據(jù)源連接測(cè)試內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot3.3.X整合Mybatis-Plus的實(shí)現(xiàn)示例
本文介紹了在Spring Boot 3.3.2中整合MyBatis-Plus 3.5.7,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03Maven安裝本地的jar包和創(chuàng)建帶模板的自定義項(xiàng)目的操作過(guò)程
這篇文章主要介紹了Maven安裝本地的jar包和創(chuàng)建帶模板的自定義項(xiàng)目,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-03-03java基于websocket實(shí)現(xiàn)im聊天功能
這篇文章主要為大家介紹了java基于websocket實(shí)現(xiàn)im聊天功能示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11Java簡(jiǎn)化復(fù)雜系統(tǒng)調(diào)用的門面設(shè)計(jì)模式
Java門面模式是一種結(jié)構(gòu)性設(shè)計(jì)模式,它為復(fù)雜系統(tǒng)提供了一個(gè)簡(jiǎn)單的接口,使得系統(tǒng)的客戶端能夠更加方便地使用系統(tǒng)功能。門面模式通過(guò)封裝復(fù)雜的子系統(tǒng),隱藏系統(tǒng)的實(shí)現(xiàn)細(xì)節(jié),提高了系統(tǒng)的易用性和靈活性2023-04-04Spring事件發(fā)布監(jiān)聽,順序監(jiān)聽,異步監(jiān)聽方式
這篇文章主要介紹了Spring事件發(fā)布監(jiān)聽,順序監(jiān)聽,異步監(jiān)聽方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12Java 日期格式y(tǒng)yyy-MM-dd與YYYY-MM-dd區(qū)別
我們?cè)趈ava中常用的規(guī)范格式為:2023-11-11
yyyy-MM-dd HH:mm:ss:SSS 24小時(shí)制或yyyy-MM-dd hh:mm:ss:SSS 12小時(shí)制,本文就來(lái)介紹一下兩者的區(qū)別,感興趣的可以了解一下java方法重載和參數(shù)類型自動(dòng)提升方式
這篇文章主要介紹了java方法重載和參數(shù)類型自動(dòng)提升方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02Java List的remove()方法陷阱以及性能優(yōu)化
Java List在進(jìn)行remove()方法是通常容易踩坑,本文就詳細(xì)的介紹一下陷阱以及性能優(yōu)化,感興趣的可以了解一下2021-10-10