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