spring访问数据库,配置数据源datasouce。在程序中使用以下语句
this.getJdbcTemplate().getDataSource().getConnection().createStatement().executeQuery(rsSql);
会不会出现statement和resultset不释放的问题。

解决方案 »

  1.   

    String sql="SELECT a.ruleid,a.casetype ,a.biztype ,a.dutydept,a.casemgr, b.orgname AS deptname,c.username AS casemgrname FROM tb_svcrecovery_caserule a "+
    "LEFT JOIN tb_organization b ON a.dutydept=b.orgcode  LEFT JOIN tb_user c ON a.casemgr=c.userid AND c.orgcode=b.orgcode "+
    " WHERE a.ruleid=?";
    logger.info(" sql=["+sql+"]");

    ParameterizedRowMapper<CaseRule> map = new ParameterizedRowMapper<CaseRule>() {
    @Override
    public CaseRule mapRow(ResultSet rs, int rowNum) throws SQLException { CaseRule caserule = new CaseRule();
    caserule.setRuleid(rs.getString("ruleid"));
    caserule.setCasetype(rs.getString("casetype"));
    caserule.setBiztype(rs.getString("biztype"));
    caserule.setDutydept(rs.getString("dutydept"));
    caserule.setCasemgr(rs.getString("casemgr"));
    caserule.setCasemgrname(rs.getString("casemgrname"));
    caserule.setDeptname(rs.getString("deptname"));

    return caserule;
    }
    };
    list= getSimpleJdbcTemplate().query(sql, map,caserule.getRuleid());这样写就好了不会出现 资源释放的问题
    你的类实现接口:extends SimpleJdbcDaoSupport
    就可以了我们公司的框架就是这样的 你具体可以看看spring的API 里面有关于getSimpleJdbcTemplate()的其它方法