读书人

请各位帮忙解决:一个JSP页面多个查询

发布时间: 2012-01-06 22:55:18 作者: rapoo

请各位帮忙解决:一个JSP页面多个查询的问题,细节怎么处理更节省资源?急啊急啊!!
我的DBBEAN里面是这样连接数据库的:
public static Connection getConnection() throws SQLException {
String mySqlDriver = "com.mysql.jdbc.Driver ";
String url = "jdbc:mysql://localhost/site ";//数据库连接
try {
Class.forName(mySqlDriver);
}
catch (ClassNotFoundException e) {
System.out.println(e.getMessage());
}
return DriverManager.getConnection(url, "site ", "site123 ");
}
// perform a query with records returned
public ResultSet executeQuery(String sql) throws SQLException
{
try {
con = Dbbean.getConnection();
Statement statement = con.createStatement();
rs = statement.executeQuery(sql);
}
catch(SQLException ex)
{
}
return rs;
}

当我在JSP页面里面执行查询的时候, 调用 executeQuery 的时候,是不是 每次都重新连接一次??
请问我上边的这个 dbbean 怎么改一下,让我在JSP页面里面连接一次,关闭一次就可以了。
连接-----查询,查询,查询,查询,查询------关闭;
因为我的不同的查询是在不同的区域里面; 

或者哪位好人,说说其他的解决办法?从其他的角度来想想办法,处理一下这个多次查询的问题。
我现在是  连接-查询-断开;连接-查询-断开;连接-查询-断开;
<TABLE cellSpacing=0 cellPadding=0 height=60 width=500 border=0>
<TBODY>
<TR>
<TD>
<%
String ArriveB1 = request.getParameter( "Arrive ");
String sqlB1 = "select flightno,flightsort,starttime,arivetime,flightweek from t_flighttime where fcode like '%PEK% ' and ecode like '%CGO% ' ";
ResultSet rsB1 = null;
rsB1 = db.executeQuery(sqlB1);//类里面已经把连接数据库的连接写好,并且执行查询语句
//循环显示查询结果的记录
while (rsB1.next()) {
%> <%=new String(rsB1.getString(1).getBytes( "ISO-8859-1 "), "gbk ")%>
详细信息: <%=new String(rsB1.getString(2).getBytes( "ISO-8859-1 "), "gbk ")%>
<%= " <br> "%>
<%
}
rsB1.close();
db.freeRs(rsB1);
%>
</FONT> </TD>


</TR>
</TBODY>
</table>
<TABLE cellSpacing=0 cellPadding=0 height=60 width=500 border=0>
<TBODY>
<TR>
<TD>
<%
String ArriveB2 = request.getParameter( "Arrive ");
//String sql = "select flightno,flightsort,starttime,arivetime,flightweek from t_flighttime where fcode like '%PEK% ' and ecode like '%CGO% ' ";
String sqlB2 = "select Content,address from t_cityinfo where flags= '2 ' and scode like '% "
+ ArriveB2
+ "% ' "+ " order by Sequence ";
ResultSet rsB2 = null;
rsB2 = db.executeQuery(sqlB2);//类里面已经把连接数据库的连接写好,并且执行查询语句
//循环显示查询结果的记录
while (rsB2.next()) {
%> <%=new String(rsB2.getString(1).getBytes( "ISO-8859-1 "), "gbk ")%>
详细信息: <%=new String(rsB2.getString(2).getBytes( "ISO-8859-1 "), "gbk ")%>
<%= " <br> "%>
<%
}
rsB2.close();
db.freeRs(rsB2);
%>
</FONT> </TD>
</TR>
</TBODY>
</table>


小弟刚刚学习JSP ,请各位山岛洞主不惜金钱(时间就是金钱),手把手点拨一下呀?!
一定给各位大哥大姐们多加分。

[解决办法]
没有关闭连接,这样很耗费资源.赶快把你的程序改一下.你得多次查询,你把那个设置成page,如果可以的话,试试
[解决办法]
看看
[解决办法]
具体怎么做呢?我希望1楼的哥们给个例子,看看。或者简单把代码写一下,怎么处理?拷贝一下我上边写的那些,这样看的清除一些。
[解决办法]
你想jsp不动的话,就可以在java中不要每次executeQuery的时候都去getConnection。
是否可以做到一次getConnection,然后一直使用。
因为连接数据库比较慢。
思路是,连一次就不放,用完再放。
[解决办法]
基本是不能一次多个查询的,你可以考虑修改SQL,一条SQL直接查出所有需要的数据。

读书人网 >Java Web开发

热点推荐