有一套信息系统,采用struts+ibatis开发的,服务器用的Tomcat,现在想在用户登录的时候可以选择连接到哪个数据库,请问这个要怎么实现,ibatis如何像这样动态的加载数据源。

解决方案 »

  1.   

    我有个想法,可能不是什么好办法。写N个datasource的bean,
    然后重写用于将datasource注入到ibatis中的类,
    在这个类中判断session或者什么别的标志,
    如果是a,就把datasource1注入到ibatis的程序中
    如果是b,就把datasource2注入到ibatis的程序中
    ....我这个是spring里的一个想法。如果是struts1,可能可以重载ActionServlet来干这个事情
    如果是struts2,可能可以用拦截器来做
    当然,用其他任何的servlet方法都行,过滤器/listener之类的lz可是让说的一个想法,
    如果不能实现,lz可忍住不要拍砖啊
    呵呵对了,
    lz这个问题和我之前的一个问题有些相似,虽然最终那个问题涉及到的项目没有做,
    但lz看看对你的需求有没有帮助吧。
    链接如下:
    http://topic.csdn.net/u/20081204/20/8b85a58b-51d5-49c3-8e17-d89a94de1082.html
    good luck