2017-02-10 52 views
-1

我在找遍地方,几本书,没有发现简单的东西。我有一个像SQL:春天java到jsp - 多表选择

select 
a.id,b.name,b.points,d.name,d.second_name,c.id 
from my_courses a 
left join course b on a.idcourse=b.id 
left join student c on a.idstudent=c.id 
left join human d on c.idhuman=d.id 

,我想以执行(在Java)和显示器(在表JSP)几个其他随机SQL无需DAO,POJO和其他类。是否有可能一些简单的解决方案,如编写一个SQL,执行SQL,获取数组或数组或填充sql结果并将其发送到jsp以显示在表中?非常感谢。 我在spring工具套件中使用java,spring,jsp。

+0

现在看来我正在寻找的东西就像'SqlRowSet foo = jdbcTemplate.queryForRowSet(sql);'。 –

回答

0

在您阅读以下的答案,请明确:

  • 你应该基本永远不要组合表示层/数据访问层一起。你会最终陷入混乱/流泪。

但是我发现了一个解决方案,您可以详细的在这里找到:

data-acces in presentation layer

这里是从源代码示例:

<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> 
<sql:setDataSource var="snapshot" driver="com.mysql.jdbc.Driver" 
url="jdbc:mysql://localhost/TEST" 
user="root" password="pass123"/> 

<sql:query dataSource="${snapshot}" var="result"> 
SELECT * from Employees; 
</sql:query> 

<table border="1" width="100%"> 
<tr> 
    <th>Emp ID</th> 
    <th>First Name</th> 
    <th>Last Name</th> 
    <th>Age</th> 
</tr> 
<c:forEach var="row" items="${result.rows}"> 
<tr> 
    <td><c:out value="${row.id}"/></td> 
    <td><c:out value="${row.first}"/></td> 
    <td><c:out value="${row.last}"/></td> 
    <td><c:out value="${row.age}"/></td> 
</tr> 
</c:forEach> 
</table> 

请注意,我不建议。这太糟糕了!很坏!