由于我是利用SessionFactory调用存储过程,故说明一下。结合笔记中的存储过程–MySQL存储过程实现动态执行SQL进行理解。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
int detotal=procedureService.savetotal(10, “s_device”); 下面是dao的调用 @Repository public class ProcedureDaoImpl<T> extends BaseDao<T> implements IProcedureDao{ @Override public int savetotal(int count, String str) { String procedure_name=“query_deviceCount”; ProcedureCall query =this.getSession().createStoredProcedureCall(procedure_name); query.registerParameter(“p_num”, Integer.class, ParameterMode.IN).bindValue(count); query.registerParameter(“p_strs”,String.class, ParameterMode.IN).bindValue(str); query.registerParameter(“p_count”, Integer.class, ParameterMode.OUT); System.out.println(query.getOutputs()); return (int) query.getOutputs().getOutputParameterValue(“p_count”); } }
|