首先是关于@DS注解
@DS可以注解在方法上、类上、接口、枚举,同时存在方法注解优先于类上注解。
涉及多数据源操作时,
1.不能使用事务,否则数据源不会切换,使用的还是是第一次加载的数据源(很关键,这次主要遇到的就是这个问题)
删除 操作多数据源的方法或者类、接口 上的 注解 @Transactional(rollbackFor = Exception.class) 即可。
2.第一次加载的数据源之后,第二次(第三次...)操作其它数据源,如果数据源不存在,使用的还是第一次加载的数据源
3.数据源名称最好不要包含下滑线,下滑线的数据源切换不了
mybatis中的
<if test="item!= null and item != ''"></if>判断,如果字段类型是Integer,值为0的话,需要把item!=''去掉,否则的话这条永远不会被执行。因为item!=''只是判断String类型的。