首页 > 解决方案 > 如何为从数据库中获取数据的获取请求编写通用方法?

问题描述

我是编码新手,并试图以更通用的方式创建方法。有人可以在这里帮助我了解泛型。

我的 DAO 类中有两个方法 getEmployeeMasterList() 和 getEmployeeListById(Integer empId) 从数据库中获取记录:

    public List<EmployeeMaster> getEmployeeMasterList() {

    return appHibernateUtils.getSession(sessionFactory).createCriteria(EmployeeMaster.class).list();
}

    public EmployeeMaster getEmployeeListById(Integer empId) {

    if(empId == 0 || empId == null) {
        return null;
    }

    return (EmployeeMaster) appHibernateUtils.getSession(sessionFactory)
    .createCriteria(EmployeeMaster.class)
    .add(Restrictions.eq(AppConstant.EMP_ID, empId))
    .uniqueResult();
}

如果可能的话,有人可以帮助我如何从以上两个构造一个通用方法。

在服务类中,我有两种方法可以使用 Pojo 设置数据库数据并发送到 UI

    public List<EmployeeMasterDto> getEmployeeMasterList() {

    List<EmployeeMaster> empDataList= empMasterDao.getEmployeeMasterList();

    List<EmployeeMasterDto> listToSend = new ArrayList<>();
    for(EmployeeMaster data : empDataList) {
        EmployeeMasterDto dtoObject = new EmployeeMasterDto();
        dtoObject.setEmpId(data.getempId());
        dtoObject.setEmpName(data.getEmpName());

        listToSend.add(dtoObject);
    }
    return listToSend;
}


    public EmployeeMasterDto getEmployeeListById(Integer empId) {

    if(empId == null)
        return null;

    EmployeeMaster empData = empMasterDao.getEmployeeListById(empId);       
    EmployeeMasterDto dataToSend = new EmployeeMasterDto();
    dataToSend.setEmpId(empData.getEmpId());
    dataToSend.setEmpName(empData.getEmpName());
    return dataToSend;
}

请在这里帮助我从上述两种方法构造一个通用方法。

标签: javaspringhibernatespring-bootjpa

解决方案


推荐阅读