package com.lst.lc.dao.impl; import java.util.List; import org.hibernate.Query; import org.springframework.stereotype.Repository; import com.lst.lc.dao.RankDao; import com.lst.lc.entities.Rank; @Repository("rankDao") public class RankDaoImpl extends BaseDao implements RankDao { @Override public void addRank(Rank rank) { save(rank); } @Override public Rank get(int rankId) { return get(Rank.class, rankId); } @Override public void updateRank(int rankId, int integral, String name) { String hql = "update Rank as rank set rank.integral = ?, rank.rankName = ? where rank.rankId = ?"; Query query = query(hql); query.setInteger(0, integral).setString(1, name).setInteger(2, rankId).executeUpdate(); } @Override public String getRank(int integral) { List<Rank> ranks = getRanks(); for (int i = 0; i < ranks.size() - 1; i++) { if (integral >= ranks.get(i).getIntegral() && integral <= ranks.get(i + 1).getIntegral()) { return ranks.get(i).getRankName(); } } return ranks.get(ranks.size() - 1).getRankName(); } @Override public List<Rank> getRanks() { String hql = "from Rank as rank order by rank.integral"; Query query = query(hql); List<Rank> ranks = query.list(); return ranks; } }