vo1_datasetemployeelistener.java

来自「dorado 展现中间件是一款企业级的商用AJAX平台软件」· Java 代码 · 共 44 行

JAVA
44
字号
package sample.skills.data;

import java.util.List;

import org.hibernate.Session;
import com.bstek.dorado.data.AbstractDatasetListener;
import com.bstek.dorado.data.Dataset;
import com.bstek.dorado.data.PagingHelper;
import sample.skills.data.hibernate.HibernateUtils;

/**
 * VO1_dataset1Listener
 */
public class VO1_datasetEmployeeListener
    extends AbstractDatasetListener {
  public void afterLoadData(Dataset dataset)
      throws Exception {
    Session session = HibernateUtils.openSession();
    try {
      int pageSize = dataset.getPageSize();
      int rowCount = ( (Integer)
                      session.createQuery("select count(*) from Employee").
                      iterate().next()).intValue();

      // 利用PagingHelper辅助对List的分页
      PagingHelper paging = new PagingHelper(pageSize,
                                             dataset.getPageIndex(),
                                             rowCount);

      List employees = session.createQuery("from Employee")
          .setFirstResult(paging.getFromIndex())
          .setMaxResults(pageSize)
          .list();

      dataset.fromDO(employees); // 将employees中的数据反射到Dataset中
      dataset.setPageCount(paging.getPageCount()); // 设置Dataset的总页数
    }
    finally {
      HibernateUtils.closeSession();
    }
  }

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?