我正在为我的 Java 应用程序设计一个简单的数据访问对象。我有几个类(记录)代表表中的一行,例如 User
和 Fruit
。
我想要一种方法来获取特定类型的所有记录。
目前我是这样的:
public List<User> getAllUsers() {
...
}
public List<Fruit> getAllFruits() {
...
}
....
但我想有一个像这样的单一多态方法(错误):
public List<T> getAllRecords(Class<T> type) {
if(type instanceof User) {
// Use JDBC and SQL SELECT * FROM user
} else if(type instanceof Fruit) {
// Use JDBC and SQL SELECT * FROM fruit
}
return collection;
}
使用示例:
List<Fruit> fruits = myDataAccessObject.getAllRecrods(Fruit.class);
List<User> users = myDataAccessObject.getAllRecords(User.class);
我如何在 Java 中执行此操作?
原文由 Jonas 发布,翻译遵循 CC BY-SA 4.0 许可协议
既然你说你不希望不同类中的数据访问方法(在对 anish 的回答的评论中),我想为什么不尝试这样的事情。
编辑:
我想再添加一个我的实现。
编辑:
我认为这个实现就像你问的那样