假设我有一个包含2列的表:
我还有一个Java "city“对象,它包含:
因此,现在我有两个选择来获取数据:
这些方法中哪种是更快/更好的实践?或者,有没有比这两种方法更好的获取信息的方法?我使用的是Oracle数据库。
发布于 2018-07-26 14:24:41
数据库查询是一个相对昂贵的操作-你需要通过网络与另一个服务器通信,然后它可能需要访问它的磁盘,计算结果,返回给你,等等。你会想要尽可能减少这些。到目前为止,只有一个查询并查看其结果比拥有多个查询要好得多,除非你有一些致命的理由不这样做-这里似乎不是这样,至少从你共享的信息来看不是这样。
发布于 2018-07-26 14:25:54
排序答案是#2。您希望对数据库进行尽可能少的查询。#2如果我没记错的话,你将连接一个城市/人,然后创建一个对象。
更好的方法:使用JPA/Hibernate。即检查http://www.baeldung.com/hibernate-one-to-many
发布于 2018-07-27 05:28:25
答案#2在所有情况下都是最优的。
当您从一个城市更改到下一个城市时,您需要在Java中编写逻辑代码来区分。
或者,如果您使用的是MyBatis,则使用“集合”可以使解决方案变得非常简单。它们执行Java 数据库调用并检索您指定的整个树,包括多个级别的所有子列表。性能非常好,也很容易编码。
https://stackoverflow.com/questions/51532152
复制相似问题