传统的数据库操作和Hibernate数据库操作,事务的体现

本文介绍了如何使用传统SQL和Hibernate框架来管理数据库事务。通过设置连接的自动提交为false,可以手动控制事务的提交和回滚。而在Hibernate中,通过Session获取事务并进行相应的提交或回滚操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

传统的sql操作,对事务其实是默认提交的,如果想对事务进行操作,则按如下的方法:

try{
conn.setAutoCommit(false); //设置不会自动提交
stmt = conn.createStatement();
stmt.executeQuery("SELECT * FROM temp_info");
stmt.executeUpdate("UPDATE temp_info SET ip='***.***.***.***'");
conn.commit(); //提交事务
System.out.println("Ok!");
conn.close();
}catch(SQLException e){
try{
conn.rollback(); // 操作不成功,回滚事务
}catch(SQLException r){
System.out.println(r.getMessage());
}
System.out.println(e.getMessage());
}
而采用了HIbernate之后,都是取得当前的Session.

注:只当数据库连接后,才得到session。然后通过session.getTransaction()对事务进行处理。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值