由于国产数据库没有相关文档说明,所以并不知道他的数据库标识是啥,刚好看到Mybatis官网说可以根据DatabaseMetaData#getDatabaseProductName()
返回的字符串去获取数据库的厂商标识!!那就直接获取看一看
关于
MyBatis官网的介绍是MyBatis 可以根据不同的数据库厂商执行不同的语句,这种多厂商的支持是基于映射语句中的 databaseId
属性。 MyBatis 会加载带有匹配当前数据库 databaseId
属性和所有不带 databaseId
属性的语句。 如果同时找到带有 databaseId
和不带 databaseId
的相同语句,则后者会被舍弃。 为支持多厂商特性。
test类
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
@SpringBootTest
class Springboot03WebApplicationTests {
@Autowired
DataSource dataSource;
@Test
public void conn() throws SQLException{
//获得连接
Connection connection = dataSource.getConnection();
String dbName = connection.getMetaData().getDatabaseProductName();
String dbVersion=connection.getMetaData().getDatabaseProductVersion();
System.out.println("数据库名称是:" + dbName + ";版本是:" + dbVersion);
//关闭连接
connection.close();
}
|
相关对应
1
2
3
|
金仓数据库8:KingbaseES
神通数据库7:OSCAR
达梦数据库8:DM DBMS
|
参考
mybatis官方文档