一尘不染

jsp显示数据库中的随机行数

jsp

我正在使用JSP和Servlets创建Web应用程序,但遇到了这个问题:我有一个表users和一个myeducations表。这些表关系在user_id上建立。

这是表:

我的教育

-------------------------------------------------- --------------------------------
| ed_id | user_id | school_name | year_attended_from | year_attended_to | 学位|
-------------------------------------------------- --------------------------------

现在,我想在网站(jsp)上显示所有用户的教育程度,但是用户接受的教育程度是随机的:1个用户本可以完成1所学校,其他3所等等。

我了解如何仅检索1行,SQL是:

SELECT school_name 
FROM myeducation
INNER JOIN users ON users.user_id = myeducation.user_id;

但是如何使该语句循环运行,以便让我得到用户的所有教育,比如说他是否拥有超过1的教育。然后将其全部放入会话变量中并显示在jsp的div中。


阅读 406

收藏
2020-06-10

共1个答案

一尘不染

您可以使用joinsnested Query

根据您当前的数据库设计,您可以通过一个简单的查询本身来实现此目的,因为Education表包含USER_ID

SELECT school_name FROM myeducation myedu where user_id="SOME_ID_HERE"

要在servlet中循环字符串数组,只需像这样

ArrayList<String> arr = new ArrayList<String>();
while (rs.next()) {
  arr.add(rs.getString("school_name "));
}
2020-06-10