1.在mysql中输入存储过程的代码:
DELIMITER //
CREATE PROCEDURE proc2(OUT s INT,IN i varchar(20))
BEGIN
SELECT COUNT(*) INTO s FROM t_user where name=i;
END//
DELIMITER ;
2.在java中,即hibernate中执行:
Session session = HIbernateSessionFactory.getSession();
SQLQuery query = session.createSQLQuery("{Call pro(?,?)}");
注意:“”中还有大括号,参数是用?做占位符的,
传参用:
query.setString(1,"tom");
query.setRegisterOutParamter(0,Types.INTEGER);
返回结果集如下,如果没有返回结果,直接调用execute();
List list = query.list();