SSH架構下的多表增刪改查,ssh架構表增刪

來源:互聯網
上載者:User

SSH架構下的多表增刪改查,ssh架構表增刪

:SSH架構下的多表增刪改查

點擊進入碼雲Git下載

點擊進入CSDN下載

項目結構:

項目代碼就不全部貼出來了,只貼下核心代碼。需要項目的自己可以去下載。

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);    }}

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.