永发信息网

SSH结合,循环插入数据库时,为什么先insert一条语句,后面就update了,id是主键,auto_increment

答案:2  悬赏:60  手机版
解决时间 2021-01-29 09:35
  • 提问者网友:像風在裏
  • 2021-01-29 06:14
for(int i=0;i order.setUserName(userName);
order.setAddress(address);
order.setDate(stamp1);
order.setBookName(bookName[i]);
order.setBookPrice(bookPrice[i]);
order.setAccount(account[i]);
order.setBookSum(bookSum[i]);
iOrderManager.addOrder(order);
}

下面是插入语句:
Hibernate: insert into bookstore.t_order (userName, bookName, bookPrice, account, bookSum, date, address) values (?, ?, ?, ?, ?, ?, ?)
Hibernate: update bookstore.t_order set userName=?, bookName=?, bookPrice=?, account=?, bookSum=?, date=?, address=? where orderId=?
Hibernate: update bookstore.t_order set userName=?, bookName=?, bookPrice=?, account=?, bookSum=?, date=?, address=? where orderId=?
最佳答案
  • 五星知识达人网友:行路难
  • 2021-01-29 07:10
order 只new 了一次,所以后面的更新自然是update了。
全部回答
  • 1楼网友:詩光轨車
  • 2021-01-29 08:16
你好! add这个方法是有些智能化的,当插入对象中的id存在是用的update,否则用的insert、 order 对象在第一次插入成功之后就携带上指定的id了,所以后面都是update,可改进的方案是: 在add执行之前加入order.setOrderId(null); 如果对你有帮助,望采纳。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯