亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關閉結果集rs和statement以后,是否還要關閉數據庫連接呢?

public?class?ItemsDAO?{
	/*獲得所有商品*/
	public?ArrayList<Items>?getAllItems(){
		Connection?conn=null;
		PreparedStatement?stmt=null;		
		String?sql="select?*?from?shop";
		ResultSet?rs=null;
		ArrayList<Items>?list=new?ArrayList<Items>();
		try
		{
			conn=DBHelper.getConnection();
			stmt=conn.prepareStatement(sql);
			rs=stmt.executeQuery();
			while(rs.next())
			{
				Items?item=new?Items();
				item.setId(rs.getInt("id"));
				item.setName(rs.getString("name"));
				item.setCity(rs.getString("city"));
				item.setNumber(rs.getInt("number"));
				item.setPicture(rs.getString("picture"));
				item.setPrice(rs.getInt("price"));
				list.add(item);
			}
			return?list;
		}catch(Exception?ex)
		{
			ex.printStackTrace();
			return?null;
		}finally
		{
			/*釋放結果集*/
			if(rs!=null)
			{
				try
				{
					rs.close();
				}
				catch(Exception?ex)
				{
					ex.printStackTrace();
				}
			}
			/*釋放statement*/
			if(stmt!=null)
			{
				try
				{
					stmt.close();
				}
				catch(Exception?ex)
				{
					ex.printStackTrace();
				}
			}
			/*是需要釋放數據庫連接呢?老師講解時,沒有提到這一點*/
			if(conn!=null)
			{
				try
				{
					conn.close();
				}
				catch(Exception?ex)
				{
					ex.printStackTrace();
				}
			}
		}
	}

后面的兩個方法getItemsById和getItemsByList里面還要重新建立連接的。每次執行方法之后,要不要關閉呢?

正在回答

1 回答

如果是單例模式就不能釋放數據庫的鏈接對象,如果不是單例模式可以釋放。

1 回復 有任何疑惑可以回復我~
#1

小羊愛主 提問者

非常感謝!
2015-07-13 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關閉結果集rs和statement以后,是否還要關閉數據庫連接呢?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號