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标签,头疼。

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