⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vo1viewmodel.java

📁 dorado 展现中间件是一款企业级的商用AJAX平台软件
💻 JAVA
字号:
package sample.skills.data;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.Transaction;
import com.bstek.dorado.common.DoradoContext;
import com.bstek.dorado.common.MessageHelper;
import com.bstek.dorado.data.Dataset;
import com.bstek.dorado.data.ParameterSet;
import com.bstek.dorado.view.DefaultViewModel;
import sample.skills.data.hibernate.HibernateUtils;
import sample.skills.data.vo.Employee;

/**
 * VO1ViewModel
 */
public class VO1ViewModel
    extends DefaultViewModel {
  public void updateEmployees(ParameterSet parameters,
                              ParameterSet outParameters)
      throws Exception {
    Session session = HibernateUtils.openSession();
    try {
      Transaction tx = session.beginTransaction();

      List employees;
      int size;

      Dataset dataset = getDataset("datasetEmployee");

      // 处理所有被删除的记录
      // 将Dataset中所有被删除的记录转换到List中
      employees = dataset.toDO(Dataset.FILTER_DELETED);
      size = employees.size();
      for (int i = 0; i < size; i++) {
        Employee employee = (Employee)employees.get(i);
        session.delete(employee);
      }

      // 处理所有被修改的记录
      // 将Dataset中所有被修改的记录转换到List中
      employees = dataset.toDO(Dataset.FILTER_MODIFIED);
      size = employees.size();
      for (int i = 0; i < size; i++) {
        Employee employee = (Employee)employees.get(i);
        session.update(employee);
      }

      // 处理所有新增的记录
      // 将Dataset中所有新增的记录转换到List中
      employees = dataset.toDO(Dataset.FILTER_NEW);
      size = employees.size();
      for (int i = 0; i < size; i++) {
        Employee employee = (Employee)employees.get(i);
        session.save(employee);
      }

      tx.commit();
    }
    finally {
      HibernateUtils.closeSession();
    }
    super.doUpdateData(parameters, outParameters);
  }

  public void raiseSalary(ParameterSet parameters, ParameterSet outParameters)
      throws Exception {
    Session session = HibernateUtils.openSession();
    try {
      Transaction tx = session.beginTransaction();

      Dataset dataset = getDataset("datasetEmployee");

      // 将Dataset中的当前记录转换为Bean
      Employee employee = (Employee)dataset.toSingleDO();
      float salary = employee.getSalary() + 500;

      // 设置到此属性中的数据将在提交成功后自动被传回Client端
      employee.setSalary(salary);
      session.update(employee);

      MessageHelper.addMessage(
          DoradoContext.getContext(),
          "[" + employee.getName() + "]已加薪至" + salary + "!");

      tx.commit();
    }
    finally {
      HibernateUtils.closeSession();
    }
    super.doUpdateData(parameters, outParameters);
  }

}

⌨️ 快捷键说明

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