【发布时间】:2016-03-04 03:50:14
【问题描述】:
我正在寻找一种更通用的方法来将数据库中的行添加到其相应的模型中。
我现在在哪里...
我在数据库中有多个表,其中包含有关计算机部件的信息,例如。 cpu(manufacturer, cores, speed ...),我已将其添加到ArrayList<Cpu>。我通过像这样从数据库中获取信息来构建模型;
public ArrayList<Cpu> getAllCpu(ArrayList<Cpu> cpu, String sql) throws.. {
ResultSet rs = queryGetResultSet("SELECT * FROM cpu");
while(rs.next()){
String manufacturer = rs.getString(1);
String socket_type = rs.getString(2);
// multiple lines, with string, integers and boolean types ...
Cpu cpu = new Cpu(manufacturer, socket_type, ... );
results.add(cpu);
}
return cpu;
}
对于我的电脑部件,有没有一种巧妙的方法可以避免使用类似这样的多种方法?
我的最终目标是调用类似以下的内容;
ArrayList<Cpu> cpu = new ArrayList<>()
cpu = MyVeryIntelligentCode.getAll(cpu);
... 并且能够获取数据库中所有 cpu 的列表,如果我为 McFlurry 类型和模型创建了一个新表,我可以使用相同的函数来获取 ArrayList!
提前谢谢你们,到目前为止,你们帮了我很多,但这次我不得不自己问一个问题!
【问题讨论】:
-
你可以使用 Commons DbUtils 之类的东西(甚至是成熟的 ORM 库)。
-
听起来您可能正在寻找 ORM(对象/关系映射),例如Hibernate.
标签: java jdbc arraylist generic-programming