日期:2014-05-16 浏览次数:20439 次
execute方法开始 Connection con = DataSourceUtils.getConnection(getDataSource()); // 做一些数据库操作 DataSourceUtils.releaseConnection(con, getDataSource()); execute方法结束
JdbcTemplate jdbcTemplate=new JdbcTemplate(ds); jdbcTemplate.query(sql_1, args_1,rch_1); jdbcTemplate.query(sql_2, args_2,rch_2); jdbcTemplate.query(sql_3, args_3,rch_3); jdbcTemplate.query(sql_4, args_4,rch_4); ......
JdbcTemplatePlus jdbcTemplate=new JdbcTemplatePlus(ds); // 内部使用一个唯一的Connection jdbcTemplate.setUseOneConnection(true); jdbcTemplate.query(sql_1, args_1,rch_1); jdbcTemplate.query(sql_2, args_2,rch_2); jdbcTemplate.query(sql_3, args_3,rch_3); jdbcTemplate.query(sql_4, args_4,rch_4); ...... // 最后调用该方法 释放那个内部唯一的Connection // 虽然我在finalize 里调用了,不过finalize毕竟不是总能在正确的时间被正确的调用 jdbcTemplate.releaseConnection();
public List queryNsubQueryUserList(Map param){ // 外层查询 final String bsql="select * from ......"; final JdbcTemplate jdbcTemplate=createJdbcTemplate(); // 子查询相关 final String subSql="select ............ "; final JdbcTemplate subJdbcTemplate=createJdbcTemplate(); List rslist=jdbcTemplate.query(bsql.toString(),sqlArg, new ResultSetHandler(){ public void processRow(ResultSet rs) throws SQLException { final 一个VO recordObj=new 一个VO(); // 子查询 subJdbcTemplate.query(subSql, subQueryArgs, new ResultSetHandler(){ public void processRow(ResultSet rs) throws SQLException { // 一些操作........ } } ); // 一些操作........ recordObj.setXXXXX(rs.getString("XXXXX")); ......... // 将记录放入集合 addRecord(recordObj); } } ); return rslist; } }
package com.neusoft.tdframework.dao; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; import java.sql.Statement; import javax.sql.DataSource; import org.springframework.dao.DataAccessException; import org.springframework.jdbc.core.CallableStatementCallback; import org.springframework.jdbc.core.CallableStatementCreator; import org.springframework.jdbc.core.ConnectionCallback; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.ParameterDisposer; import org.springframework.jdbc.core.PreparedStatementCallback; import org.springframework.jdbc.core.PreparedStatementCreator; import org.springframework.jdbc.core.SqlProvider; import org.springframework.jdbc.core.StatementCallback; import org.springframewor