将SimpleJdbcTemplate转换为DataSource,以便能够从另一个资源中访问资源

时间:2012-09-19 13:47:34

标签: java spring rest sqldatasource jdbctemplate

我正在使用Java Spring创建REST接口

我试图从另一个资源B的.get()函数中访问特定资源A的.get()函数。(以避免复制粘贴一些DB-Query代码)

[资源-A] - 访问 - > [RESOURCE-B]然后返回合并结果

这可能吗?如果是这样,怎么样?

我的想法是尝试用来自A的我自己的jdbcTemplate来填充资源B的DataSource,然后调用.get()函数......这失败了,因为我无法将jdbcTemplate强制转换为DataSource;(

// within ResourceA...

ResourceB rB = new ResourceB();
rB.setDataSource( (DataSource) this.jdbcTemplate );
theResultItem.parentList = (List<ResourceB>) rB.get("country", language);

是否有可能从SimpleJDBCTemplate创建一个DataSource?或者任何其他方式来交叉访问资源?

1 个答案:

答案 0 :(得分:0)

有时一点咖啡休息有助于......

我现在刚在第二个资源中插入了一个额外的方法,这有助于我注入jdbcTemplate:

    //within resource B
    public void setSimpleJdbcTemplate(SimpleJdbcTemplate jdbcTemplate) {
     this.jdbcTemplate = jdbcTemplate;
    }

从资源A中我现在调用

    //within resource A
    ResourceB rB = new ResourceB();
    rB.setSimpleJdbcTemplate(jdbcTemplate);
    theResultItem.parentElements = (List<ResourceB>) pr.get("country", language);