hibernate 返回新插入數據的Id


例如 表明 studentInfo

String sql="set set nocount on studentInfo(列名,列名) values('值','值');select @@identity as inserId";

  

 

java代碼:

public int executeCount(String sql, Map<String, Object> paramMap) {
		Session session = sessionFactory.getCurrentSession();
		Query query = session.createSQLQuery(sql);
		if (paramMap != null && paramMap.size() > 0) {
			for (Entry<String, Object> entry : paramMap.entrySet()) {
				Object value = entry.getValue();
				if (value != null && value.getClass().isArray()) {
					query.setParameterList(entry.getKey(),
							Arrays.asList((Object[]) value));
					continue;
				}
				query.setParameter(entry.getKey(), entry.getValue());
			}
		}
		List<?> list = query.list();
		if (list != null && list.size() > 0) {
			if(list.get(0)!=null){
				return Integer.parseInt(list.get(0).toString());
			}
		}
		return 0;
	}

  在dao層調用

this.executeCount(sql, map);

  注:map 放的是添加的值


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM