国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

hibernate session 連接釋放問題

2019-11-08 20:44:20
字體:
來源:轉載
供稿:網友

項目編寫出現問題:登陸頁面進行登陸時,能成功登陸,但是注銷后重新登陸3次以上時,后臺控制臺出現hibernate closing 的問題。懷疑是session factory 和session 出現沒有正確關閉session的問題。于是上網查的以下資料

原代碼:dao層:

@Repositorypublic class tblUserDaoImpl  implements tblUserDao{	@Autowired	PRivate SessionFactory sf;	@Override	public List<TblUser> queryOneUser(TblUser user) {		String username = user.getUsername();		String passWord = user.getPassword();		String hql = "from TblUser t where t.username=? and t.password=?";		Query query = sf.openSession().createQuery(hql);		query.setString(0, username);		query.setString(1, password);		List<TblUser> resultList = query.list();		return resultList;}如果這樣寫的話,重復幾次登陸會出現卡死情況。

目前從網上查找的解決方法是:

1.讓dao層繼承hibernateDaoSupport類

2.此時session factory無法注入的情況,用

	@Autowired  	public void setMySessionFactory(SessionFactory sessionFactory){  	    super.setSessionFactory(sessionFactory);  	}方法解決。

3.新的類中的方法不能使用query,所以更改查詢方式

綜上,新的代碼為

@Repositorypublic class tblUserDaoImpl extends HibernateDaoSupport implements tblUserDao{ 	private SessionFactory sf;		//登錄用,根據用戶名和密碼進行查找	@Override	public List<TblUser> queryOneUser(TblUser user) {		String username = user.getUsername();		String password = user.getPassword();		Session session =  super.getSession();		String hql = "from TblUser where username = '" +username + "' and password="+password;		List<TblUser> resultList = session.createQuery(hql).list();		releaseSession(session);		return resultList;	}		@Autowired  	public void setMySessionFactory(SessionFactory sessionFactory){  	    super.setSessionFactory(sessionFactory);  	}		}注意,新更改的查詢方法中,hql語句中的文字部分必須添加引號注明。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 青岛市| 嘉鱼县| 称多县| 通山县| 济南市| 波密县| 合川市| 介休市| 福泉市| 互助| 云霄县| 钟祥市| 泗水县| 邛崃市| 长岭县| 栖霞市| 淮安市| 大同市| 轮台县| 永德县| 乌兰浩特市| 绵阳市| 玉门市| 招远市| 九台市| 方城县| 丽江市| 精河县| 祥云县| 江孜县| 蕉岭县| 河池市| 都江堰市| 丰原市| 宜兰市| 郴州市| 云梦县| 区。| 邢台县| 介休市| 定西市|