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);
}
}