/** *
Title:
*Description:
*Copyright: Copyright (C) 2011
*Company: VCI
* @author Bear * @time 2011-8-22 * @version 1.0 */ package com.vci.server.base.persistence.dao; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.util.LinkedHashMap; public abstract class JDBCCallback { private java.sql.Connection cn = null; private String sql = ""; private Object[] params = null; private JDBCRunType runType = JDBCRunType.Function; private int returnSqlType = 1; private boolean isHasRefCursorOut = false; private boolean closeConnectionInFinally = false; /** * 输出参数类型Maps(key:索引,value:输出参数类型com.vci.base.server.persistence.dao.JDBCRunType
* @param returnSqlType 返回值类型(仅适应于fun) * @param hasRefCursorOut 是否包含引用标参数(仅适应于proc) * @param closeConnectionInFinally *根据参数选项,决定要不要关闭连接对象
*1.如果此连接来自于与Session连接池中的Connection,不需要关闭此连接,此时值应该传 false
*2.如果此连接来自与DB创建的新连接(无连接池或不是从连接池中取出的连接),则需要即时关闭,此时值应该传 true
*3.对于在启用了Hibernate的应用中,不需要即时关闭连接,此时值应该传 false
* @param params 参数值 */ public JDBCCallback(Connection cn, String sql, JDBCRunType runType, int returnSqlType, boolean isHasRefCursorOut, boolean closeConnectionInFinally, Object[] params) { super(); this.cn = cn; this.sql = sql; this.params = params; this.runType = runType; this.returnSqlType = returnSqlType; this.isHasRefCursorOut = isHasRefCursorOut; this.closeConnectionInFinally = closeConnectionInFinally; } /** * 构建 callback 对象 * @param cn 连接 * @param sql sql * @param runType 执行对象的类型 fun or proc or sql @seecom.vci.base.server.persistence.dao.JDBCRunType
* @param returnSqlType 返回值类型(仅适应于fun) * @param hasRefCursorOut 是否包含引用标参数(仅适应于proc) * @param closeConnectionInFinally *根据参数选项,决定要不要关闭连接对象
*1.如果此连接来自于与Session连接池中的Connection,不需要关闭此连接,此时值应该传 false
*2.如果此连接来自与DB创建的新连接(无连接池或不是从连接池中取出的连接),则需要即时关闭,此时值应该传 true
*3.对于在启用了Hibernate的应用中,不需要即时关闭连接,此时值应该传 false
* @param outParamTypeMaps 输出参数类型Maps(key:索引,value:输出参数类型