在 mybatis 中需要根據配置變量值執行不同 sql 語句時,可以使用內置的數據庫廠商標識功能。
對于給定的示例,可以設置一個全局配置類 globalvariable,其中包含 databasetype 變量,該變量指示使用的數據庫類型(例如 1 表示 mysql,2 表示達夢)。
在 xml 映射文件中,可以使用 databaseid 屬性來指定數據庫廠商標識,并根據不同的標識執行不同的 sql 語句:
<select id="selectOne" resultType="com.example.type"> <if test="databaseType = 1"> ... SQL 語句針對 mysql </if> <if test="databaseType = 2"> ... SQL 語句針對達夢 </if> </select>
登錄后復制
當執行該查詢時,mybatis 會根據 globalvariable.databasetype 的值動態選擇要執行的 sql 語句,從而實現 sql 的動態執行。