资源描述:
《与Hibernate相关的数据库操作》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、利用Hibernate访问数据库的步骤一、查询记录1、查询关键字为一个(1)查询结果唯一方法一:Iteratoritr=sess.iterate("fromGcSmsGameContentascontentwherecontent.gameid=?",gameid,Hibernate.LONG);return(GcSmsGameContent)itr.next();方法二:Listlist=sess.find("fromGcSmsSendCmppassmswheresms.messageid=?",msgId,Hibernate.LONG);GcSmsSendCmppsms=(G
2、cSmsSendCmpp)list.get(0);(2)查询结果不唯一StringBufferhql=newStringBuffer();hql.append("selectsms.createdate,count(*),sms.statusfromGcGhsmsassms");hql.append("wheresms.status=?");hql.append("groupbysms.createdate,sms.status");hql.append("orderbysms.createdatedesc");Queryquery=sess.createQuery(hql.to
3、String());query.setParameter(0,status);query.setFirstResult(start);query.setMaxResults(count);itr=query.iterate();当查询的结果不唯一时,返回的数据必须保存在query,list,或Iterator。2、查询关键字为2个以上方法一:Stringhql="fromGcSmsGameStateasstatewherestate.mobile=:mobileandstate.gameid=:gameid";Queryquery=sess.createQuery(hql);qu
4、ery.setParameter("mobile",mobile);query.setParameter("gameid",gameid);return(GcSmsGameState)query.iterate().next();方法二:Sessionsess=mSupport.getSession();Iteratoritr=null;StringBufferhql=newStringBuffer();hql.append("selectsmsfromGcGhsmsassms");hql.append("wheresms.status=?andsms.createdate=?"
5、);hql.append("orderbysms.createdatedesc");Queryquery=sess.createQuery(hql.toString());query.setParameter(0,status);query.setParameter(1,createdate);query.setFirstResult(start);query.setMaxResults(count);itr=query.iterate();1、查询所有结果StringBufferhql=newStringBuffer();hql.append("selectsms.create
6、date,count(*),sms.statusfromGcGhsmsassms");hql.append("groupbysms.createdate,sms.status");hql.append("orderbysms.createdatedesc");Queryquery=sess.createQuery(hql.toString());itr=query.iterate();二、保存数据库记录用户第一次答题时,将手机号、问题ID保存在数据库:publicbooleansaveState(Stringmobile,Stringid){Longgameid=newLong(
7、id);GcSmsGameStatestate=newGcSmsGameState();state.setMobile(mobile);state.setGameid(gameid);state.setScore(newLong(0));Sessionsess=mSupport.getSession();try{sess.save(state);mSupport.commit();LogUtils.infoLogger.info("saveState:"+mobile+","+g