讲java程序调用mysql的存储过程之前,先聊聊mysql是如何调用自定义的存储过程的,首先先自定义一个存储过程:
需要注意的是,delimiter &或delimiter ;之间有一个空格,没空格会出错。调用存储过程的时候输出值要在前面加上“@“,不然也会出错。
接下来讲讲java是如何调用mysql的存储过程的,其实也不难,就像调用java函数一样即可,废话不多说,上代码:
/**
* java调用mysql的存储过程
*/
@Test
public void test2() {
Connection conn = null;
CallableStatement stat = null;
ResultSet set = null;
try {
conn = JdbcUtil.getConnection();//自定义的获取连接的方法
stat = conn.prepareCall("{call p_name(?,?)}");
stat.setString(1, "to java");
stat.registerOutParameter(2, Types.VARCHAR);//需要注册返回值是什么类型
stat.execute();//执行存储过程的调用
String result = stat.getString(2);
System.out.println("result:" + result);
} catch(Exception e) {
e.printStackTrace();
} finally {
JdbcUtil.release(conn, stat, set);//自定义的释放资源的方法
}
}
执行以下函数,结果如下图所示:
result:welcome to java
嗯,成功解决,以上。