java - 如何为从数据库中获取数据的获取请求编写通用方法?
问题描述
我是编码新手,并试图以更通用的方式创建方法。有人可以在这里帮助我了解泛型。
我的 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;
}
请在这里帮助我从上述两种方法构造一个通用方法。
解决方案
推荐阅读
- android - takePicture 需要 CameraX (1.0.0-alpha06) 上的执行器
- docker - 如何运行私有 Docker 映像
- python - 我无法打开我的本地服务器。我做了待办事项清单
- scala - 重复记录移动到 Spark Scala 中的其他数据帧
- css - 带边距顶部的 css 选择选项
- node.js - 需要在我的 Ubuntu 操作系统中使用 nodejs 运行单独的 power shell 脚本
- python-3.x - 如果字符串在键或值中匹配,则删除字典中的键和值
- python - 是否有选择指定字符串后的前 2 个单词的功能?
- java - 如何使用 JSON 格式发布 ManyToOne 和 OneToOne 实体?
- sql - SSIS 不插入多于一行