mybatis dblink測試環境和正式環境庫名不一樣

場景

測試環境和正式環境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標籤,頭疼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章