gpt4 book ai didi

java - JAVA 对象之间的 OOP 和事务

转载 作者:行者123 更新时间:2023-11-30 06:19:10 26 4
gpt4 key购买 nike

我希望有人可以帮助我,我有 2 个类 User 和 Adress两者都有 addNewUser() 和 addNewAdress() 这个方法使用准备好的语句进行事务处理,但我不知道如何加入对象,因为当我添加新用户时,我需要使用用户 ID 添加新的地址。

class User{
public boolean addNewUser(){
Connection con = conecctions.getconnection;

Statement stmt = null;
Boolean result = false;


try {

stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATABLE);

PreparedStatement addUser =
con.prepareStatement(query);
addUser.setBoolean(1, false);
addUser.setString(1, "name");

con.commit();

...
...
...
Adress newAdress = new Adress("new_user_id", "addres");
newAdrees.addNewAdress();

}

我认为这样做是错误的,我该如何实现组合?并对这两种方法使用相同的提交。谢谢!

最佳答案

您不必提交事务即可获取插入 ID。 (有一个关于如何获得它的已回答问题 here )。然后,您只需在工作单元结束时提交一次事务。我建议将事务管理保留在该对象的范围之外,并且不要在任何这些对象(用户或地址)中提交事务。这将限制它们的范围,并且代码变得更干净,而且事务代码(提交-回滚-异常处理)将是独立的并且可重用。

关于java - JAVA 对象之间的 OOP 和事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48552027/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com