欢迎您:游客
登录
注册
搜索
帮助
<<上一主题
下一主题>>
首页
>>
SSH Framework
>>
Hibernate 讨论专区
>> 利用hibernate执行jdbc中的事物处理
主题:
利用hibernate执行jdbc中的事物处理
唧唧
精华:0
积分:0
金钱:3172
金币:0
威望:0
权限:2
用户资料
用户帖子
大
小
楼主
利用hibernate执行jdbc中的事物处理
Post by : 2008-06-23 11:38:14.0
幼儿园
UID:3
主题:342
帖子:781
加为好友
发送短信
java
代码
//此为更新的例子
try
{
Session session = HibernateUtil.currentSession();
try
{
Connection connection = session.connection();
// 获取连接
PreparedStatement preparedStatement =
null
;
String deleteSQL =
"delete from a where b=c"
;
//开始事物
connection.setAutoCommit(
false
);
preparedStatement = connection.prepareStatement(deleteSQL);
preparedStatement.executeUpdate();
//提交JDBC事务
connection.commit();
// 恢复JDBC事务的默认提交方式
connection.setAutoCommit(
true
);
preparedStatement.close();
}
catch
(SQLException x) {
connection.rollback();
throw
x;
}
}
catch
(HibernateException e){
e.printStackTrace();
throw
e;
}
finally
{
HibernateUtil.closeSession();
}
//关于查询:
try
{
Session session = HibernateUtil.currentSession();
try
{
Connection conn = session.connection();
PreparedStatement prepstmt = conn.prepareStatement(query);
prepstmt.setLong(
1
,Long.parseLong(paperId));
ResultSet rs = prepstmt.executeQuery();
ArrayList rsl =
new
ArrayList();
while
(rs.next()){
HashMap item =
new
HashMap();
item.put(
"××"
,Long.toString(rs.getLong(
"××"
)));
rsl.add(item);
}
//一定要养成好习惯用完就关,否则会报“游标超出最大值”的错误的
rs.close();
prepstmt.close();
}
catch
(SQLException x) {
connection.rollback();
throw
x;
}
}
catch
(HibernateException e){
e.printStackTrace();
throw
e;
}
finally
{
HibernateUtil.closeSession();
}
//调用存储过程:
try
{
Session session = HibernateUtil.currentSession();
Connection conn = session.connection();
CallableStatement cstmt = conn.prepareCall(
"{call SAVE_AS_NEW_PAPER(?,?)}"
);
cstmt.setLong(
1
,
new
Long(newPid).longValue());
cstmt.setLong(
2
,
new
Long(oldPid).longValue());
cstmt.executeQuery();
cstmt.close();
}
catch
(HibernateException e){
throw
e;
}
catch
(SQLException e){
throw
e;
}
finally
{
HibernateUtil.closeSession();
}
★★★★★★★★
纵里寻她千百度,蓦然回首,那人却在,灯火阑珊处!
MyBlog :
http://blog.javawind.net
= 跳转到所选版块 =
›› Java EE Web Develop
› Tencent SDK 讨论交流中心
› Java 基础开发
› J2EE/Java Web 讨论交流中心
› javascript/html/css 讨论交流中心
› ajax 讨论交流中心
› Java 资源共享交流中心
›› 非技术研讨区域
› 灌水和测试版面
› 爪哇(Java)风景岛
› 业余事务信息平台
›› Web Application Server
› Apache Tomcat
› Caucho Resin
›› SSH Framework
› Struts 讨论专区
› Spring 讨论专区
› Hibernate 讨论专区
›› Database Server
› Microsoft SQL Server
› Sun MySQL
› Oracle DataBase
›› JavaWind 论坛公告和管理区
› 论坛公告和信息发布区
› 版主会议室
CopyRight © 2008-2009
JavaWind.Net Studio
All Rights Reserved
Powered By
JWind.BBS
Vesion 1.0.0
Beta1
Processed in 18 ms,0 (Queries) Gzip enabled
WAP - 清除Cookies - 联系我们 -
JavaWind.Net Studio
-
Archiver
-
TOP
粤ICP备07511478号