当前位置:编程学习 > JAVA >>

ssh调用存储过程

ssh的集成项目中如何调用mysql中既带输入参数又带输出参数的存储过程
drop procedure if exists pr_add;
DELIMITER $$
create procedure pr_add
(
    n varchar(20),
    pwd varchar(20),
    out cc varchar(20),
    out bb varchar(20)
)
begin
     select loginName as cc,loginPwd as bb from kcwms.userrole where loginName=n and loginPwd=pwd;
end;
$$

call pr_add('admin','admin',@eaec,@bb); --------------------编程问答-------------------- 请求指点 --------------------编程问答-------------------- oracle的,mysql应该类似吧,还有一种方法是在hibernate中配置
SessionFactory factory =  new Configuration().configure().buildSessionFactory();
Session session = factory.openSession();
Transaction trans = session.beginTransaction();
Connection con = session.connection();
CallableStatement st =  con.prepareCall("{call my_proc(?,?,?)}");
st.setInt(1, 7788);
st.registerOutParameter(2, OracleTypes.NUMBER);
st.registerOutParameter(3, OracleTypes.VARCHAR);
st.execute();
System.out.println(st.getFloat(2));
System.out.println(st.getString(3));
st.close();
con.close();
trans.commit(); --------------------编程问答-------------------- public int[] recharge(String cn, String cardPwd, String ip, int zoneId)
throws Exception {
CallableStatement call = null;
int[] result = new int[2];
try {
String cal = "{call USER_CARDCHARGE(?,?,?,?,?,?)}";
Connection conn = DBConnection.getConnection();
call = conn.prepareCall(cal);

call.setString(1, cn);
call.setString(2, cardPwd);
call.setString(3, ip);
call.setLong(4, zoneId);

call.registerOutParameter(5, 4);
call.registerOutParameter(6, 4);
call.executeUpdate();

result[0] = call.getInt(5);
result[1] = call.getInt(6);
} catch (Exception e) {
e.printStackTrace();
}
return result;
} --------------------编程问答--------------------
引用 2 楼 jkfjhwquhfasjdkhjhvj 的回复:
oracle的,mysql应该类似吧,还有一种方法是在hibernate中配置
SessionFactory factory = new Configuration().configure().buildSessionFactory();
Session session = factory.openSession();
Transaction trans = session.beginTra……

st.registerOutParameter(2, OracleTypes.NUMBER);
为什么报空指针呀?
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,