jdk1.8 springboot+mybatis框架下,写一个工具类,获取当前数据库连接信息
时间: 2024-03-11 17:49:35 浏览: 139
在Spring Boot + MyBatis框架下,可以使用以下代码获取当前数据库连接信息:
```java
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.jdbc.DataSourceBuilder;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Component;
import javax.sql.DataSource;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Map;
@Component
public class DatabaseUtils {
@Autowired
private DataSource dataSource;
@Autowired
private JdbcTemplate jdbcTemplate;
public Map<String, String> getDatabaseProperties() throws SQLException {
Map<String, String> properties = new HashMap<>();
String url = dataSource.getConnection().getMetaData().getURL();
String username = dataSource.getConnection().getMetaData().getUserName();
String password = jdbcTemplate.getDataSource().getConnection().getMetaData().getUserName();
if (url != null) {
properties.put("url", url);
}
if (username != null) {
properties.put("username", username);
}
if (password != null) {
properties.put("password", password);
}
return properties;
}
}
```
上述代码中,使用`@Autowired`注解将`DataSource`和`JdbcTemplate`注入到该工具类中。然后,分别获取当前连接的URL、用户名和密码,并将这些信息存储在一个`Map`中返回。在调用该方法时,只需要在调用方中引入该工具类,并调用`getDatabaseProperties`方法即可。需要注意的是,该方法只适用于已经建立连接的数据库,如果没有连接到数据库,将会出现异常。
阅读全文