1 调用存储过程
2 调用存储过程的sql语句
3 {call 过程名称(参数列表)}
4 conn = DbUtils.getConnection();
5 sql = "{call p_order_approve(?)}";
6 CallableStatement cs = conn.prepareCall(sql);
7 // 对sql中的占位符赋值 参数有 in out之分
8 // 如果对应位置的参数是in 直接赋值
9 // cs.setInt(1, 10);
10 // 如果参数是 out 那么用 registerOutParameter 赋值 第二个参数是对应的类型
11 // 如果参数即使in 又是out 那么设置两次
12 cs.registerOutParameter(1, Types.INTEGER);
13 cs.execute();
14 // 获取返回的结果
15 int res = cs.getInt(1);
16 +
17 System.out.println(res);
18 cs.close();
19 conn.close();
20
21
22 调用方法
23 conn = DbUtils.getConnection();
24 sql = "select fun_test1(?) from dual";
25 PreparedStatement ps = conn.prepareStatement(sql);
26 ps.setInt(1, 101);
27 ResultSet rs = ps.executeQuery();
28 if(rs.next()){
29 System.out.println(rs.getString(1));
30 }
31 DbUtils.close(rs, ps, conn);