java – 使用事务在MySQL中更新多个表


java中,如果我想在与事务相同的数据库的多个表中插入数据,那么我应该使用相同的连接还是每个表创建连接?

insertInTable(){

insetInTable1();
insertInTable2()

}

insetInTable1(){
//get new connection , insert commit
}

insetInTable2(){
//get new connection , insert commit
}

要么

insertInTable(){

Connection conn = getConnection();
insetInTable1(conn);
insertInTable2(conn)

conn.commit();
}

insetInTable1(Connection conn){
//insert
}

insetInTable2(Connection conn ){
//insert 
}

假设两个表都在同一个数据库中.

可以跨方法发送相同的连接吗?

最佳答案 绝对是后者,即由单个开始/提交包围的两个插入语句.您无法在多个连接之间保留事务.

……好吧,使用Open-XA是可能的,但很难从常规Java代码管理,无论如何这里没有任何意义.

点赞