使用ssh存储过程实现购物车添加和商品列表的数据减少,程序执行成功但是数据库数据没变java调用public int add(int sid,int num,double total,int uid) { try { this.getSession().getNamedQuery("update").setParameter(0, sid).setParameter(1, num)
.setParameter(2, total).setParameter(3, uid); return 1;
} catch (Exception e) { // TODO: handle exception e.printStackTrace(); return 0;
}
}调用mysql存储过程代码 <sql-query name="update" callable="true">
{call zcxg(?,?,?,?)} </sql-query>mysql的存储过程详细代码create procedure `zcxg`(in sid int,in num int,in total double,in uid int)beginupdate shop as s set s.`number`=(s.`number`-`num`) where s.`id`=`sid`;insert into cart(number,sid,total,uid) values(`num`,`sid`,`total`,`uid`);commit;end
1 回答
慕斯王
TA贡献1864条经验 获得超2个赞
将
this.getSession().getNamedQuery("update").setParameter(0, sid).setParameter(1, num) .setParameter(2, total).setParameter(3, uid);
换成
String procdure = "{call cl(?,?,?,?)}"; CallableStatement cs = this.getHibernateTemplate().getSessionFactory().getCurrentSession().connection().prepareCall(procdure); cs.setInt(1, sid); cs.setInt(2, num); cs.setDouble(3, total); cs.setInt(4, uid); cs.execute();
添加回答
举报
0/150
提交
取消