一个Spring与MyBatis整合,配置多数据源的思路
考虑这样一种情形,一个页面,上面有两个链接,这两个链接都会执行相应的数据库操作,比如说A链接要到Mysql中查出一组数据显示出来,B链接要到oracle数据库中查询一组数...
考虑这样一种情形,一个页面,上面有两个链接,这两个链接都会执行相应的数据库操作,比如说A链接要到Mysql中查出一组数据显示出来,B链接要到oracle数据库中查询一组数据,<a href="http://xxx?database=oracle/mysql"></a>这样的方式告知后台该链接使用mysql还是oracle
我现在想问,在这种情况下我用spring与mybatis整合,应该如何设计能够实现这种随着请求的不同,切换访问的数据库呢?
我自己想了下,在spring配置文件中,配置两套datasource与sqlSessionFactory这点是肯定的了,但是我想不通应该如何去注入dao呢?我用mybatis的方式是interface+mapper的方式,原先一个数据源的时候,我只需要利用spring把接口所在的包扫描一遍注入sqlSessionFactory就OK了,但是现在涉及到一个切换问题,我不知道如何注入了?
我也想过,在两个包中分别写两套interface和mapper,因为mysql与oracle的某些sql语句写法不同,所以mapper文件肯定不能共用,但是interface都是一样的,不知是不是有公用的方法,请指教,多谢 展开
我现在想问,在这种情况下我用spring与mybatis整合,应该如何设计能够实现这种随着请求的不同,切换访问的数据库呢?
我自己想了下,在spring配置文件中,配置两套datasource与sqlSessionFactory这点是肯定的了,但是我想不通应该如何去注入dao呢?我用mybatis的方式是interface+mapper的方式,原先一个数据源的时候,我只需要利用spring把接口所在的包扫描一遍注入sqlSessionFactory就OK了,但是现在涉及到一个切换问题,我不知道如何注入了?
我也想过,在两个包中分别写两套interface和mapper,因为mysql与oracle的某些sql语句写法不同,所以mapper文件肯定不能共用,但是interface都是一样的,不知是不是有公用的方法,请指教,多谢 展开
1个回答
2014-03-25
展开全部
datasource与sqlSessionFactory
完全不同了。因为不同的DB的SQL语法会不同的。
完全不同了。因为不同的DB的SQL语法会不同的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询