上移、下移功能

来源:互联网 发布:自然知彼护肤品 编辑:程序博客网 时间:2024/06/02 02:32

                                     实现数据的上移和下移功能


实现效果如下:



功能实现过程为:上移和下移是交换两条数据的位置序号。我将主要业务放在Service,具体操作放在Dao中。

上移的Service层代码:

public void moveUp(Long id) {//找出相关的Forum:当前需要移动的板块Forum forum = getById(id);//当前需要移动的上一个板块Forum other = forumDao.createLimitQueryUp(forum.getPosition());//最上面的不能上移if(other == null){return;}//交换position的值int temp = forum.getPosition(); forum.setPosition(other.getPosition());other.setPosition(temp);//更新到数据库中forumDao.update(forum);forumDao.update(other); }
上移的Dao层代码:

/** * 限定查询:板块向上移动. * @param position * @return */public Forum createLimitQueryUp(int position) {Forum forum = (Forum) getSession().createQuery("from Forum f where f.position<? order by f.position desc")//.setParameter(0, position).setFirstResult(0).setMaxResults(1).uniqueResult();return forum;}

下移的Service层代码:

public void moveDown(Long id) {//找出相关的Forum:当前需要移动的板块Forum forum = getById(id);//当前需要移动的下一个板块Forum other = forumDao.createLimitQueryDown(forum.getPosition());//最下面的不能下移if(other == null){return;}//交换position的值int temp = forum.getPosition(); forum.setPosition(other.getPosition());other.setPosition(temp);//更新到数据库中forumDao.update(forum);forumDao.update(other);}

下移的Dao层代码:

/** * 限定查询:板块向下移动 * @param position * @return */public Forum createLimitQueryDown(int position) {Forum forum = (Forum) getSession().createQuery("from Forum f where f.position>? order by f.position asc")//.setParameter(0, position).setFirstResult(0).setMaxResults(1).uniqueResult();return forum;}

这些是实现上下移动的主要代码。



0 0