欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
JSP中早就有了類(lèi)似.Net DataSet那樣的離線(xiàn)數據訪(fǎng)問(wèn)了,拋棄ResultSet,擁抱Result吧!
微軟的.NET平臺上面的數據訪(fǎng)問(wèn)有一個(gè)特點(diǎn),就是數據查詢(xún)的結果,可以放在內存中,以XML格式進(jìn)行描述,不需要一直與數據庫保持在線(xiàn)連接,用DataSet + Data Adapter來(lái)實(shí)現!
而在JDBC中,我們通常使用javax.sql.ResultSet類(lèi)來(lái)存放放回的數據,它的流程和生命周期如下:
使用ResultSet來(lái)返回數據庫查詢(xún)結果
Client-->Connection-->Statement-->JDBC Driver --+
Database
Client<--Parsing<--ResultSet<--JDBC Driver--+
Connection lifecycle
ResultSet lifecycle
我們可以看到,這樣會(huì )長(cháng)期占用數據庫連接的資源,是一個(gè)有點(diǎn)不爽的問(wèn)題...
其實(shí),在JSTL中提供了另外一種機制,讓我們在返回查詢(xún)結果到表示層的時(shí)候,可以做到離線(xiàn)使用!它就是javax.servlet.jsp.jstl.sql.Result類(lèi)!
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@page contentType="text/html; charset=UTF-8"%>
<%@page import="java.sql.Connection"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.SQLException"%>
<%@page import="java.sql.Statement"%>
<%@page import="javax.servlet.jsp.jstl.sql.Result"%>
<%@page import="javax.servlet.jsp.jstl.sql.ResultSupport"%>
<%
// 暫且把這個(gè)下面的內容看作多層架構中的DAO好了,我偷懶了!
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String strDbUrl
= "jdbc:mysql://localhost/tutorial?user=tutorial&password=tutpwd";
try {
//開(kāi)始與數據庫作查詢(xún)
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(strDbUrl);
stmt = conn.createStatement();
String strSql = "SELECT * FROM R_TUT_USERS";
rs = stmt.executeQuery(strSql);
//把ResultSet轉化成Result
Result userData = ResultSupport.toResult(rs);
//當我們把結果放到某個(gè)Model bean后,就可以關(guān)閉數據庫連接了.
//為了簡(jiǎn)化,我們暫且把pageContext看作Model Bean好了!
pageContext.setAttribute("userData", userData);
}
catch (Exception ex) {
// handle any errors
System.out.println("SQLException: " + ex.getMessage());
}
finally {
try {
if (rs != null) {
rs.close();
}
if (stmt != null) {
stmt.close();
}
if (conn != null) {
conn.close();
}
}
catch (SQLException ex) {
System.out.println("SQL Exception: " + ex.getMessage());
}
}
//DAO的邏輯結束
%>
<html>
<head>
<title>test</title>
</head>
<body>
<c:forEach items="${userData.rows}" var="user">
<c:out value=‘${user.name}‘/>
</c:forEach>
</body>
</html>
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
DB連接池管理編程舉例
JComboBox中放入訪(fǎng)問(wèn)數據庫所得內容
JavaWeb 開(kāi)發(fā) 06 —— smbms項目實(shí)踐
Tomcat中數據連接池的配置和相應的javabean
ProdListServlet.java
ResultSet的JTable顯示
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久