英文:
How to write a generic method for get request which is fetching data from Databased?
问题
以下是你提供的代码的翻译部分:
DAO类中的方法:
// 获取员工主列表
public List<EmployeeMaster> getEmployeeMasterList() {
return appHibernateUtils.getSession(sessionFactory)
.createCriteria(EmployeeMaster.class).list();
}
// 根据员工ID获取员工列表
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();
}
Service类中的方法:
// 获取员工主列表
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;
}
// 根据员工ID获取员工列表
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;
}
如果可能的话,请帮助我构建一个从上述两个方法中创建一个通用方法。
英文:
I am new to coding and trying to create method in more generic way. can someone help me here to understand the generics.
I have two method in my DAO class getEmployeeMasterList() and getEmployeeListById(Integer empId) to fetch record from database:
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();
}
Can someone help me how to construct a generic method from above two if it is possible.
And in service class I have two method which set database data with Pojo and send to 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;
}
Please help me here to construct a generic method from the above two methods.
专注分享java语言的经验与见解,让所有开发者获益!
评论