如何使用結果集的語句使用結果集
使用結果集
回答
顯示從數據庫具有相同的字段值的多個記錄,你必須創建一個POJO存儲通過查詢獲得的數據,然後通過ResultSet中可以顯示多個記錄迭代從DB查詢執行中獲得的每一行。
所以你會得到一個對象列表(POJO)。這可以在任何你想要的地方使用。 http://java.sun.com/docs/books/tutorial/jdbc/basics/retrieving.html
http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=2691&lngWId=2
首先創建其表示表的一行一個JavaBean類。我不知道你在說什麼數據,但讓我們的User
作爲現實世界的例子:
public class User {
private Long id;
private String name;
private Integer age;
// Add/generate public getters and setters.
}
以上是當然的一個例子。您需要相應地命名類和屬性實際數據所代表的內容。
現在創建DAO類,它在JDBC的幫助下完成所需的數據庫交互任務。您只需確保在類路徑中具有正確的SQL Server JDBC驅動程序。我可以推薦jTDS,因爲它比微軟自己的JDBC驅動更好更快。 OK,讓我們假設你想列出所有User
S的具有相同age
:
public List<User> listByAge(Integer age) throws SQLException {
Connection connection = null;
PreparedStatement statement = null;
ResultSet resultSet = null;
List<User> users = new ArrayList<User>();
try {
connection = database.getConnection();
statement = connection.prepareStatement("SELECT id, name, age FROM user WHERE age = ?");
statement.setInt(1, age);
resultSet = statement.executeQuery();
while (resultSet.next()) {
User user = new User();
user.setId(resultSet.getLong("id"));
user.setName(resultSet.getString("name"));
user.setAge(resultSet.getInt("age"));
users.add(user);
}
} finally {
if (resultSet != null) try { resultSet.close(); } catch (SQLException logOrIgnore) {}
if (statement != null) try { statement.close(); } catch (SQLException logOrIgnore) {}
if (connection != null) try { connection.close(); } catch (SQLException logOrIgnore) {}
}
return users;
}
現在創建一個Servlet類UsersServlet
它確實在doGet()
方法的數據預處理。
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<User> users = userDAO.list();
request.setAttribute("users", users);
request.getRequestDispatcher("/WEB-INF/users.jsp").forward(request, response);
}
地圖這個servlet在web.xml如下:
<servlet>
<servlet-name>users</servlet-name>
<servlet-class>mypackage.UsersServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>users</servlet-name>
<url-pattern>/users</url-pattern>
</servlet-mapping>
注意<url-pattern>
,您可以通過http://example.com/context/users
執行這個servlet。
現在創建一個JSP文件users.jsp
,您將其放置在WEB-INF
文件夾中,以便沒有人可以在不使用該servlet的情況下直接訪問它。您可以使用JSTLc:forEach
遍歷一個List
:
<table>
<thead>
<tr><th>ID</th><th>Name</th><th>Age</th></tr>
</thead>
<tbody>
<c:forEach items="${users}" var="user">
<tr><td>${user.id}</td><td>${user.name}</td><td>${user.age}</td></tr>
</c:forEach>
</tbody>
</table>
通過http://example.com/context/users
執行它。應該是這樣的。
- 1. 結果集內的結果集
- 2. 對於非結果集結果查詢重複使用語句
- 3. 在Java程序中使用結果集
- 4. 結果集jsp - 如何使用?
- 5. 使用LINQ從查詢,其結果集
- 6. 使用sqlite3結果集做多件事
- 7. 使用結果集數據源
- 8. 使用sqlalchemy結果集進行更新
- 9. 損壞的結果集使用pyodbc
- 10. 如何使用Selenium的結果集合
- 11. 使用jQuery查找搜索結果集
- 12. 使用JPA讀取多個結果集
- 13. SQLException:用盡結果集
- 14. 從storedproc調用結果集
- 15. 用find_all確定結果集
- 16. 值java.sql.SQLException:用盡結果集
- 17. SQLException結果集結束後
- 18. 結合的結果集
- 19. 在結果集中排序MySQL結果
- 20. Hibernate:多結果集
- 21. 造型結果集
- 22. BeautifulSoup - 對結果集
- 23. MongoDb:mapReduce收集結果
- 24. 分頁結果集
- 25. 結果集問題
- 26. SQL PIVOT結果集
- 27. SpagoBI:使用查詢數據集結果的腳本數據集
- 28. 使用結果
- 29. 如何使用結果集,如果查詢具有計數(列)
- 30. 從多個結果集中返回單個結果集