SQLは影響を受けるローの数を返します

814 ワード

最近、データベースの削除操作が成功したかどうかを知る機能があります.私はデータベースを操作した後、影響を受けた行数を取得すればいいと思います.成功すれば、影響を受けた行数を返すからです.
でもどうやって手に入れますか?
(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()
この方法は私が検証していない.