数据库厂商标识(databaseIdProvider)

Exisi 2021-03-27 07:14:01
Categories: Tags:




示例

<databaseIdProvider type="DB_VENDOR" />

 

 


示例

<databaseIdProvider type="DB_VENDOR">

  <property name="SQL Server" value="sqlserver"/>
  <property
name="DB2" value="db2"/>
  <property
name="Oracle" value="oracle" />

</databaseIdProvider>

 

在提供了属性别名时,databaseIdProvider DB_VENDOR 实现会将 databaseId 设置为数据库产品名与属性中的名称第一个相匹配的值,如果没有匹配的属性,将会设置为 “null”。

​​​​​​​

在这个例子中,如果 getDatabaseProductName() 返回“Oracle (DataDirect)”,databaseId 将被设置为“oracle”。

你可以通过实现接口 org.apache.ibatis.mapping.DatabaseIdProvider 并在 mybatis-config.xml 中注册来构建自己的 DatabaseIdProvider

public interface DatabaseIdProvider {
  default void setProperties(Properties p) { // 3.5.2 开始,该方法为默认方法
    // 空实现
  }
  String getDatabaseId(DataSource dataSource) throws SQLException;
}

 

来自 <https://mybatis.org/mybatis-3/zh/configuration.html#databaseIdProvider>