【问题标题】:How to join multiple tables using Spring JDBC Template?如何使用 Spring JDBC 模板连接多个表?
【发布时间】:2014-02-08 11:02:13
【问题描述】:

我是 Java Spring 的新手,正在学习 JDBC 模板来访问数据库。现在我有 3 个关系表,我需要使用 JDBC 模板加入它们并需要打印结果。我该如何实现它。任何工作示例肯定会对我有很大帮助。

谢谢

【问题讨论】:

  • 看看this有没有帮助
  • 我对这个例子感到困惑,因为我没有在 Spring 中体验过。任何完整的工作示例都会对我有很大帮助。

标签: spring-jdbc


【解决方案1】:

您确实在问一个多方面的问题。我在下面提供了 SO 和帖子的链接,但还有更多答案。如果这些没有任何用处,只需搜索另一个,那里实际上有数百篇关于同一主题的帖子。

  1. 您需要一个将三个表组合成一个查询的查询(您没有提到是否需要嵌套连接,或者简单连接三次)。为此,我建议您阅读一些 SQL。 Here is a post 将为您提供嵌套选择的示例并链接到解释不同 SQL 的多个其他帖子。

  2. 您需要使用 Spring JDBC(您没有提及您使用的是哪个特定的模板实现)。 Here is post that gives you RowMapper 示例和迭代结果的逻辑。

  3. 您需要逻辑来迭代结果。使用 Springs RowMapper 或 ResultSetExtractor 接口最容易做到这一点。 Here is a post 这将解释两者之间的区别并链接到 API(我建议您阅读)。

ResultSetExtracor Implementation Example - 加上迭代逻辑

RowMapper Implementation Example - 加上迭代逻辑

【讨论】:

  • 这意味着它就像普通的jdbc一样,我们通过编写sql查询来组合表。无需为每个表创建多个类来连接表。
  • 我找到了一个示例kaninotes.blogspot.com/2013/01/…,但在这里我们需要创建两个用于连接表的类。如果我想加入 7 个班级,我会实施这个。那支球队将是一个可怕的梦想。
  • 您不想从数据库表中建模您的对象。这是两个非常不同的东西。一个是对象(对数据库一无所知),一个是数据的存储位置(对对象一无所知)。在您指出的链接示例中,我认为您将这两个概念混淆了。尽管 Kani 的对象似乎是在表格上建模的,但它们不是(正如 Employee 所指出的那样 -> 有一个项目列表)。 Kani 简单地创建了一个面向对象的设计并拥有一个关系数据库
  • Sping JDBC模板中不需要使用建模对象?
  • 这不能回答问题
猜你喜欢
  • 2012-11-09
  • 1970-01-01
  • 2017-01-26
  • 1970-01-01
  • 1970-01-01
  • 2017-10-05
  • 2019-03-15
  • 1970-01-01
  • 2012-12-15
相关资源
最近更新 更多