jsp显示来自数据库的随机行数

时间:2014-04-17 17:30:47

标签: java mysql sql jsp servlets

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

这是表格:

myeducation

----------------------------------------------------------------------------------
| ed_id | user_id | school_name | year_attended_from | year_attended_to | degree |
----------------------------------------------------------------------------------

现在,我想在网站(jsp)上显示所有用户教育,但用户拥有的教育数量是随机的:1个用户只能完成1个学校,其他可以3个等等... < / p>

我理解如何只检索1行,SQL是:

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

但是如何使这个语句在循环中运行,以便我得到用户的所有教育,比如说他是否只有1个。然后将它们全部放在一个会话变量中并显示在一个jsp&#39; s div。

1 个答案:

答案 0 :(得分:0)

您可以使用joinsnested Query

来实现这一目标

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

SELECT school_name FROM myeducation myedu where user_id="SOME_ID_HERE"

要在servlet中循环String Array,只需按照这样做

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