【发布时间】:2021-08-06 21:35:29
【问题描述】:
我目前正在从事一个 uni 项目,我在其中创建了一个名为“User”的简单类,该类包含 Java 数据库中的名称、地址等内容。我想知道的是是否可以将所有对象信息传递给另一个类
// Getting person's info from DB
// Personal details
String ID = boolPhone.getString("ID");
String fName = boolPhone.getString("FIRSTNAME");
String lName = boolPhone.getString("LASTNAME");
String Phone = boolPhone.getString("PHONENUMBER");
String Email = boolPhone.getString("EMAIL");
// Address lookup via ID
query = "SELECT * FROM ADDRESSES WHERE ADDRESSID = ?";
userLookup = connection.prepareStatement(query);
userLookup.setString(1, ID);
ResultSet addressDetails = userLookup.executeQuery();
if(addressDetails.next() == true){
// Address details
String houseNum = addressDetails.getString("HOUSENUMBER");
String Street = addressDetails.getString("STREETNAME");
String City = addressDetails.getString("CITY");
String Flatblock = addressDetails.getString("FLATBLOCK");
String Postcode = addressDetails.getString("POSTCODE");
// Create class from database
LoggedUser userDetails = new LoggedUser(ID, fName, lName, Phone,
Email, houseNum, Street, City,
Flatblock, Postcode);
关于为什么我需要传递访问这个特定对象的属性的额外上下文是因为它本质上使用输入的电话号码作为用户名。这告诉程序哪一行保存了数据库表中的所有用户数据,并允许从应用程序的其他部分进行访问。我正在使用 FXML,因此可以从存储在同一个包中但具有不同控制器的不同屏幕访问它,因为这是一个大型项目,因此分离控制器并仅传递当前正在运行的控制器是我能想到的最简单的方法.这是交换当前根/控制器的代码
Parent root = FXMLLoader.load(getClass().getResource("/HomeScreen/homeScreen.fxml"));
Scene rootScene = new Scene(root);
Stage rootWindow = (Stage)((Node)event.getSource()).getScene().getWindow();
rootWindow.setScene(rootScene);
rootWindow.show();
}
【问题讨论】:
标签: java mysql oop netbeans fxml