解决上述问题的一种解决方案是使用Java编写DTO类以从不同的数据源获取信息。以下是一个简单的代码示例,它演示了如何创建和使用DTO类来获取数据。
// 定义DTO类
public class UserDTO {
private String name;
private int age;
// 构造函数
public UserDTO(String name, int age) {
this.name = name;
this.age = age;
}
// Getter和Setter方法
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
// 从不同数据源获取信息的示例
public class DataFetcher {
// 从数据库获取用户信息
public UserDTO fetchFromDatabase() {
// 模拟数据库查询
String name = "John";
int age = 25;
// 创建UserDTO对象并返回
UserDTO userDTO = new UserDTO(name, age);
return userDTO;
}
// 从API获取用户信息
public UserDTO fetchFromAPI() {
// 模拟API调用
String name = "Jane";
int age = 30;
// 创建UserDTO对象并返回
UserDTO userDTO = new UserDTO(name, age);
return userDTO;
}
}
// 使用DTO类获取信息的示例
public class Main {
public static void main(String[] args) {
DataFetcher dataFetcher = new DataFetcher();
// 从数据库获取用户信息
UserDTO userFromDatabase = dataFetcher.fetchFromDatabase();
System.out.println("Name from database: " + userFromDatabase.getName());
System.out.println("Age from database: " + userFromDatabase.getAge());
// 从API获取用户信息
UserDTO userFromAPI = dataFetcher.fetchFromAPI();
System.out.println("Name from API: " + userFromAPI.getName());
System.out.println("Age from API: " + userFromAPI.getAge());
}
}
上述代码示例中,我们定义了一个UserDTO类,它包含了姓名和年龄两个属性,并提供了相关的Getter和Setter方法。然后,我们创建了一个DataFetcher类,其中包含了从不同数据源获取用户信息的方法。最后,在Main类中,我们实例化DataFetcher类,并使用它的方法来获取用户信息,并打印到控制台上。
这是一个简单的示例,你可以根据实际需求来扩展和修改DTO类和数据获取方法。