在
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代码管理,无论如何这里没有任何意义.