场景
测试环境和正式环境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标签,头疼。