今天在作業中遇到一個業務:“在jdbc已經與資料庫建立連接的情況下,需要在業務代碼中獲取到不同型別資料庫的庫名,”像大多數人一樣,我首先想到的是通過jdbc連接的url來獲取資料庫名,例如mysql的jdbc連接url
jdbc:mysql://localhost:3306/test
oracle的jdbc連接url
jdbc:oracle:thin:@127.0.0.1:1521:orcl
顯然,通過jdbc連接url是可以獲取到資料庫名的,但是通過這種方式獲取庫名首先需要通過不同的方式截取字串,其次如果換做其他型別的如MongoDB、HBase等資料庫,還要通過各自的截取方式來獲取,因此這種方式很麻煩,于是乎,通過百度,搜到的大部分都是通過“show databases”查詢出所有的資料庫名,并不能解決以上業務,最終,總算找到了一個簡單的方法,使用jdbc通過以下sql直接進行查詢,目前只找到了獲取mysql和oracle資料庫名的方式
1.MySQL獲取當前連接資料庫名稱
select database();
2.Oracle獲取當前連接資料庫名稱
select name from v$database;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/86088.html
標籤:AI
