最近做了一个功能需要知道对数据库做增删改操作是否成功,理我想那么我只要获取对数据库做操作后获取受影响的行数即可,因为如果成功的话,会返回受影响的行数。
可是怎么获取?
(1)使用hibernateTemplate()
template.executeFind(new HibernateCallback() {
@Override
public Object doInHibernate(Session session) throws HibernateException,
SQLException {
Query query = session.createQuery("from PurchaseRecords where PRODUCT_ID =:id1 and USER_CODE =:code");
query.setParameter("id1", productId);
query.setParameter("code", usercode);
return query.list();
}
});
上面的代码返回的是object对象,转为int类型即可,就是受影响的行数。
(2)对temaplate.save()
也可以使用获取要添加的对象的id是否为null来判断,因为添加之前id为null添加之后id会自动获取到值,所以这样也可以用来判断是否添加成功
(这里说的自动是数据库设置id自动递增)
(3)executenonQuery()
这个方法我没有验证