该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个是存储过程名
CREATE DEFINER=`root`@`localhost` PROCEDURE `proc_getWaitingTime`(IN OutpatientId VARCHAR(20), OUT countTime INT )
在mysql中执行成功,返回值是 15
/*查询大概还需要等待时间,通过调用存储过程获得*/CALL proc_getWaitingTime('20170411101001vvwj24',@countTime);
但是在jdbc中调用得到的返回值就变成0了
public static int selectMinute(String outpatientId){ String sql = "{CALL proc_getWaitingTime(?,?)}"; //连接mysql Connection connection = JDBCUtil.getConnection(); CallableStatement cs = null; try { cs = connection.prepareCall(sql); cs.setString(1, outpatientId); cs.registerOutParameter(2, Types.INTEGER); cs.execute(); int minute = cs.getInt(2); System.out.println("`````````````````````"+cs); System.out.println("`````````````````````"+minute); JDBCUtil.close(connection, cs, null); return minute; } catch (SQLException e) { e.printStackTrace(); } return -1; }
输出结果
`````````````````````com.mysql.jdbc.CallableStatement@23a0e3b8: CALL proc_getWaitingTime('20170411101001vvwj24',@com_mysql_jdbc_outparam_countTime)
`````````````````````0