读书人

JAVA实施存储过程(通用方法)

发布时间: 2012-09-05 15:19:35 作者: rapoo

JAVA执行存储过程(通用方法)

? ? ? /**

* 执行存储过程

* @param 存储过程名称

* @param 所需参数

* @return 存储过程发返回的错误信息

* @author wuhao

* @throws Exception

*/

public static void executeProc(String call,Object[] params) throws Exception{

String result = "";

Connection conn = null;

CallableStatement proc = null;

try {

conn = dao.getSessionFactory().openSession().connection();

conn.setAutoCommit(false);

proc = conn.prepareCall(call);

int index = 0;

if(params != null && params.length > 0){

for (int i = 1; i <= params.length; i++) {

proc.setObject(i, params[i-1]);

index +=1;

}

}

index = index+1;

proc.registerOutParameter(index,Types.VARCHAR);?

proc.execute();?

result = proc.getString(index);

if( null != result && !result.equals("") ){

conn.rollback();

} else {

? ?conn.commit();

}

} catch (Exception e) {

conn.rollback();

throw e;

} finally {

if(null != proc)

proc.close();

if(null != conn)

conn.close();

}

}

读书人网 >编程

热点推荐