場景
測試環境和正式環境dblink的庫名不一樣。
這樣代碼就不通用了。
例如:
CRMTEST.USER@MYLINK
CRMDEV.USER@MYLINK
分析
傳參問題? 尚未解決
就是根據spring的profile,確定用那個庫。
第一要解決的問題是如何傳遞profile到mybatis.
之後實現方案會比較多樣化。
if test方案
是可以實現功能的,但是那麼多用到庫名的地方。 代碼看起來佷亂。
sql中使用bind
比直接使用if test好一些,因爲代碼量少。精簡爲每個sql中用一次if標籤即可。
<select id="selectBlogsLike" resultType="Blog">
<bind name="pattern" value="'%' + _parameter.getTitle() + '%'" />
SELECT * FROM BLOG
WHERE title LIKE #{pattern}
</select>
mybatis-config.xml中配置全局變量
<properties resource="org/mybatis/example/config.properties">
<property name="TEST" value="TEST"/>
<property name="DEV" value="DEV"/>
</properties>
但是 mybatis-config.xml裏面沒有if標籤,頭疼。