SSH框架下的多表增删改查

时间:2023-03-09 04:56:52
SSH框架下的多表增删改查

下载地址:SSH框架下的多表增删改查

点击进入码云Git下载

点击进入CSDN下载

项目结构:SSH框架下的多表增删改查

项目代码就不全部贴出来了,只贴下核心代码。需要项目的自己可以去下载。

package com.atguigu.ssh.actions;

import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.util.Map; import org.apache.struts2.interceptor.RequestAware; import com.atguigu.ssh.entities.Employee;
import com.atguigu.ssh.service.DepartmentService;
import com.atguigu.ssh.service.EmployeeService;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
import com.opensymphony.xwork2.Preparable; public class EmployeeAction extends ActionSupport implements RequestAware, ModelDriven<Employee>, Preparable { private static final long serialVersionUID = 1L; private EmployeeService employeeService; public void setEmployeeService(EmployeeService employeeService) {
this.employeeService = employeeService;
} private DepartmentService departmentService; public void setDepartmentService(DepartmentService departmentService) {
this.departmentService = departmentService;
} public String list() {
request.put("employees", employeeService.getAll());
return "list";
} private Integer id; public void setId(Integer id) {
this.id = id;
} private InputStream inputStream; public InputStream getInputStream() {
return inputStream;
} public String delete() {
try {
employeeService.delete(id);
inputStream = new ByteArrayInputStream("1".getBytes("UTF-8"));
} catch (Exception e) {
e.printStackTrace();
try {
inputStream = new ByteArrayInputStream("0".getBytes("UTF-8"));
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
}
return "ajax-success";
} public String input() {
request.put("departments", departmentService.getAll());
return INPUT;
} public void prepareInput() {
if (id != null) {
model = employeeService.get(id);
}
} public String save() {
if (id == null) {
model.setCreateTime(new Date());
}
employeeService.saveOrUpdate(model);
return SUCCESS;
} /**
* 可以根据 id 来判断为 save 方法准备的 model 是 new 的还是从数据库获取的!
*/
public void prepareSave() {
if (id == null) {
model = new Employee();
} else {
model = employeeService.get(id);
}
} private String lastName; public void setLastName(String lastName) {
this.lastName = lastName;
} public String validateLastName() throws UnsupportedEncodingException {
if (employeeService.lastNameIsValid(lastName)) {
inputStream = new ByteArrayInputStream("1".getBytes("UTF-8"));
} else {
inputStream = new ByteArrayInputStream("0".getBytes("UTF-8"));
} return "ajax-success";
} private Map<String, Object> request; @Override
public void setRequest(Map<String, Object> arg0) {
this.request = arg0;
} @Override
public void prepare() throws Exception {
} private Employee model; @Override
public Employee getModel() {
return model;
} }
package com.atguigu.ssh.dao;

import java.util.List;

import org.hibernate.Query;

import com.atguigu.ssh.entities.Employee;

public class EmployeeDao extends BaseDao {

    public void delete(Integer id) {
String hql = "DELETE FROM Employee e WHERE e.id = ?";
getSession().createQuery(hql).setInteger(0, id).executeUpdate();
} @SuppressWarnings("unchecked")
public List<Employee> getAll() {
String hql = "FROM Employee e LEFT OUTER JOIN FETCH e.department";
return getSession().createQuery(hql).list();
} public void saveOrUpdate(Employee employee) {
getSession().saveOrUpdate(employee);
} public Employee getEmployeeByLastName(String lastName) {
String hql = "FROM Employee e WHERE e.lastName = ?";
Query query = getSession().createQuery(hql).setString(0, lastName);
Employee employee = (Employee) query.uniqueResult();
System.out.println(employee.getDepartment().getClass().getName());
return employee;
} public Employee get(Integer id) {
return (Employee) getSession().get(Employee.class, id);
}
}
package com.atguigu.ssh.service;

import java.util.List;

import com.atguigu.ssh.dao.EmployeeDao;
import com.atguigu.ssh.entities.Employee; public class EmployeeService { private EmployeeDao employeeDao; public void setEmployeeDao(EmployeeDao employeeDao) {
this.employeeDao = employeeDao;
} public boolean lastNameIsValid(String lastName) {
return employeeDao.getEmployeeByLastName(lastName) == null;
} public void saveOrUpdate(Employee employee) {
employeeDao.saveOrUpdate(employee);
} public void delete(Integer id) {
employeeDao.delete(id);
} public List<Employee> getAll() {
List<Employee> employees = employeeDao.getAll();
// employees.clear();
return employees;
} public Employee get(Integer id) {
return employeeDao.get(id);
} }