SSH 工具类如何注入

qq_21992489 2015-11-10 09:36:54
package sgx.util;

public class DbContextHolder {

private static final ThreadLocal contextHolder = new ThreadLocal();

public static void setDbType(String dbType) {
contextHolder.set(dbType);
}

public static String getDbType() {
return (String) contextHolder.get();
}

public static void clearDbType() {
contextHolder.remove();
}

public static ThreadLocal getContextholder() {
return contextHolder;
}
}
这上面是从论坛大神那里 学过来的一个更改连接数据库的一个工具类
本人是新手 现在想在Dao层使用这个工具类 但是一直无法加载这个工具类

package sgx.dao.impl;

import java.util.List;

import org.springframework.orm.hibernate3.HibernateTemplate;

import sgx.dao.IOtherEventInfoDao;
import sgx.entity.EventInfo;
import sgx.util.DbContextHolder;

public class OtherEventInfoDao implements IOtherEventInfoDao {

private HibernateTemplate hibernateTemplate;

public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
this.hibernateTemplate = hibernateTemplate;
}
public String EventInfoFinal(String IP, String dateBase) {

DbContextHolder.setDbType("0");
List<EventInfo> list0 = hibernateTemplate.find("from EventInfo");

//dateBase,IP 目标数据库标记
switch(IP+dateBase){
case "127.0.0.1"+"spring" :
DbContextHolder.setDbType("1");
List<EventInfo> list1 = hibernateTemplate.find("from EventInfo");
hibernateTemplate.deleteAll(list1);
for(int i=0;i<list0.size();i++){
hibernateTemplate.save(list0.get(i));
}
break;
case "127.0.0.1"+"ETCLaneDB" :
DbContextHolder.setDbType("2");
List<EventInfo> list2 = hibernateTemplate.find("from EventInfo");
hibernateTemplate.deleteAll(list2);
DbContextHolder.setDbType("2");
for(int i=0;i<list0.size();i++){
hibernateTemplate.save(list0.get(i));
}
break;
case "192.168.1.6"+"Expressway":
DbContextHolder.setDbType("3");
List<EventInfo> list3 = hibernateTemplate.find("from EventInfo");
hibernateTemplate.deleteAll(list3);
for(int i=0;i<list0.size();i++){
hibernateTemplate.save(list0.get(i));
}
break;
}
return null;
}

经过测试 test中可以跑
但是一放到Tomcat上 就无法加载DbContextHolder了

求帮助 如何注入这个工具类?
...全文
132 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
qq_21992489 2015-11-10
package sgx.util; import java.sql.SQLException; import org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource; public class DynamicDataSource extends AbstractRoutingDataSource { //static Logger log = Logger.getLogger("DynamicDataSource"); @Override protected Object determineCurrentLookupKey() { // TODO return DbContextHolder.getDbType(); } @Override public boolean isWrapperFor(Class<?> iface) throws SQLException { // TODO Auto-generated method stub return false; } @Override public <T> T unwrap(Class<T> iface) throws SQLException { // TODO Auto-generated method stub return null; } } 忘了贴了 还有一个工具类
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2015-11-10 09:36
社区公告
暂无公告