JDBC中执行多个SQL语句事例

import java.sql.Connection;
import java.sql.SQLException;
import java.sql.Statement;


import com.xcliang.util.code.DBUtil;


public class deleteStudent {
//如果要想在一个持久层方法中书写多个相关的sql语句同时执行的话
//例:
public void deleteStudent(int studentID) {

//第一个sql语句
String sql1 = "update t_room set f_inNum = f_inNum - 1 where pk_roomid =(select fk_roomid from t_student where pk_studentid = "+studentID+")";

//第二个sql语句
String sql2 = "delete from t_student where pk_studentid = " + studentID;

//连接
Connection con = DBUtil.getConnection();

try {
//将sql语句的提交方式改为非自动提交
//注意:如果是true则表示自动提交第一个语句,第二个语句直接无视
con.setAutoCommit(false);

//多个sql语句执行
//第一句:
Statement stat1 = con.createStatement();
stat1.executeUpdate(sql1);

//第二句:
Statement stat2 = con.createStatement();
stat2.executeUpdate(sql2);
//提交sql语句执行
con.commit();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
try {
con.rollback();//如果两句sql语句中只要有一个语句出错,则回滚,都不执行
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} finally {
DBUtil.closeConnection(con);
}

}
}
  • 3
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值