日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)MyBatis教程:MyBatis3XML配置-數(shù)據(jù)庫廠商標(biāo)識

數(shù)據(jù)庫廠商標(biāo)識(databaseIdProvider)

Mybatis 可以根據(jù)不同的數(shù)據(jù)庫廠商執(zhí)行不同的語句,這種多廠商的支持是基于映射語句中的 ?databaseId屬性。 MyBatis 會加載帶有匹配當(dāng)前數(shù)據(jù)庫 ?databaseId屬性和所有不帶 ?databaseId ?屬性的語句。 如果同時找到帶有 ?databaseId ?和不帶 ?databaseId ?的相同語句,則后者會被舍棄。 為支持多廠商特性,只要像下面這樣在 mybatis-config.xml 文件中加入 ?databaseIdProvider ?即可:

?databaseIdProvider ?對應(yīng)的 ?DB_VENDOR ?實現(xiàn)會將 ?databaseId ?設(shè)置為 ?DatabaseMetaData#getDatabaseProductName()? 返回的字符串。 由于通常情況下這些字符串都非常長,而且相同產(chǎn)品的不同版本會返回不同的值,你可能想通過設(shè)置屬性別名來使其變短:


  
  
  

在提供了屬性別名時,?databaseIdProvider ?的 ?DB_VENDOR ?實現(xiàn)會將 ?databaseId ?設(shè)置為數(shù)據(jù)庫產(chǎn)品名與屬性中的名稱第一個相匹配的值,如果沒有匹配的屬性,將會設(shè)置為 “?null?”。 在這個例子中,如果 ?getDatabaseProductName()? 返回“?Oracle (DataDirect)?”,?databaseId將被設(shè)置為“?oracle?”。

你可以通過實現(xiàn)接口 ?org.apache.ibatis.mapping.DatabaseIdProvider? 并在 ?mybatis-config.xml? 中注冊來構(gòu)建自己的 ?DatabaseIdProvider?:

public interface DatabaseIdProvider {
  default void setProperties(Properties p) { // 從 3.5.2 開始,該方法為默認(rèn)方法
    // 空實現(xiàn)
  }
  String getDatabaseId(DataSource dataSource) throws SQLException;
}

網(wǎng)頁名稱:創(chuàng)新互聯(lián)MyBatis教程:MyBatis3XML配置-數(shù)據(jù)庫廠商標(biāo)識
URL網(wǎng)址:http://www.5511xx.com/article/coeieps.html