java查询数量的dao_java-Spring:如何使用GenericDao获取多个数据源?

我有一个使用Spring 3.1.1的Web应用程序.

我们有一个使用JdbcTemplate的genericDao.数据源正在GenericDaoImpl中注入.

public class GenericDaoImpl implements GenericDao {

protected Class entityClass;

protected JdbcTemplate jdbcTemplate;

@Autowired

public void setDataSource(DataSource dataSource) {

this.jdbcTemplate = new JdbcTemplate(dataSource);

}

....

@Override

public List findAll(String sql,ParameterizedRowMapper mapper,Object... args) {

return jdbcTemplate.query(sql,mapper,args);

}

}

这是一个简单的DAO.

@Repository

public class ElementDaoImpl extends GenericDaoImpl implements ElementDao {

private static ParameterizedRowMapper mapper = new ParameterizedRowMapper() {...};

public List findChildren(int id) {

sql = "SELECT....";

return findAll(sql,new Object[] {id});

}

}

暂时,借助独特的数据源,它可以完美运行.

applicationContext配置有注释.

现在,我必须仍然使用genericDao来集成一个新的DAO,但是要在另一个数据库上工作(因此是另一个数据源).

我在服务中使用@Transactionnal.我阅读了Spring文档,我们可以为交易指定条件,以便选择优秀的交易管理器.

因此,我创建了一个新的数据源,一个新的事务管理器…

在我的新服务上,我已将该值添加到@Transactionnal批注中:

@Transactionnal("txSecond")

要恢复,我有4个类来管理新数据库:服务接口,@Transactionnal(“ txSecond”)服务实现,DAO接口,基于genericDao的DAO实现,在注入的数据源上创建了JdbcTemplate对象.

我创建了一个Junit测试,但是暂时,我阻止了一个异常:NoSuchBeanDefinitionException:没有定义类型javax.sql.DataSource的唯一bean.预期单个匹配的Bean,但找到了2个(firstD,SecondD).

我认为pb是genericDao,但不确定.

如何处理?

谢谢.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值