日期:2014-05-16 浏览次数:20503 次
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