国产探花免费观看_亚洲丰满少妇自慰呻吟_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語句中的文字部分必須添加引號注明。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 道孚县| 鄯善县| 正安县| 丰宁| 阳谷县| 江门市| 定陶县| 东海县| 五原县| 新乐市| 正安县| 东乌珠穆沁旗| 元朗区| 柳州市| 榆树市| 蓝山县| 南通市| 娄烦县| 珲春市| 阿合奇县| 万山特区| 盖州市| 蒙城县| 五指山市| 滨海县| 偃师市| 罗江县| 阆中市| 大渡口区| 澄城县| 周至县| 从江县| 宁明县| 东辽县| 临潭县| SHOW| 义马市| 长治市| 宿松县| 罗平县| 咸阳市|