Java函数调用和存储过程一样步骤如下:
1. 编写自定义的函数,或调用系统函数,为简单起见,我调用Mysql CONCAT()函数。
2.编写java调用测试类,可以是main方法,也可以JUnit单元测试类,这里用JUnit。
@Test
public void testCallableStatement3() throws Exception{
Connection conn=null;
CallableStatement cst=null;
String sql="{? = CALL CONCAT(?,?)}";
try{
conn=DBUtils.getConnection();
cst=(CallableStatement) conn.prepareCall(sql);
//设置Out参数
cst.registerOutParameter(1, Types.CHAR);
//设置IN参数
cst.setString(2, "Tom ");
cst.setString(3, "Cat");
//执行
cst.execute();
//获取返回值
String str=cst.getString(1);
System.out.println(str);
}catch(Exception e){
e.printStackTrace();
}finally{
DBTools.release(null, cst, conn);
}
}
3.到数据库中检查,是否调用存储过程成功。输出结果是: