package com.svse.dao; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; public class UserDAO { /* * java调用存储过程 */ public int addUser(String username,int userage) { Connection conn = null; int userid =0; try { Class.forName("oracle.jdbc.driver.OracleDriver"); conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.13.142:1521:ORCL","scott","tiger"); //调用过程 CallableStatement cs = conn.prepareCall("{ call proc_addUser(?,?,?) }"); cs.setString(1, username); cs.setInt(2, userage); //对于输出参数 那么需要获取它的值 //1 需要注册该参数的 类型 cs.registerOutParameter(3, java.sql.Types.INTEGER); //调用存储过程 cs.execute(); //获取存储的输出参数 userid = cs.getInt(3); conn.close(); } catch (Exception e) { e.printStackTrace(); } return userid; } public static void main(String[] args) { UserDAO dao = new UserDAO(); int userid = dao.addUser("王麻子",19); System.out.println(userid); } }