package com.mvc.dao.impl;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Query;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;
import com.mvc.dao.DepartmentDao;
import com.mvc.entity.Department;
/**
* Department相关Dao层接口实现
*
* @author wanghuimin
* @date 2016年9月8日
*/
@Repository("departmentDaoImpl")
public class DepartmentDaoImpl implements DepartmentDao {
@Autowired
@Qualifier("entityManagerFactory")
EntityManagerFactory emf;
//根据id修改部门状态
public boolean delete(Integer id) {
EntityManager em = emf.createEntityManager();
try {
em.getTransaction().begin();
String selectSql = " update department set `dept_state` = 1 where dept_id =:dept_id ";
Query query = em.createNativeQuery(selectSql);
query.setParameter("dept_id", id);
query.executeUpdate();
em.flush();
em.getTransaction().commit();
} finally {
em.close();
}
return true;
}
//筛选部门列表
@SuppressWarnings("unchecked")
@Override
public List<Department> findDepartmentAllByPage(Integer offset, Integer end) {
EntityManager em = emf.createEntityManager();
String selectSql = "select * from department where dept_state=0";
selectSql += " order by dept_id desc limit :offset, :end";
Query query = em.createNativeQuery(selectSql, Department.class);
query.setParameter("offset", offset);
query.setParameter("end", end);
List<Department> list = query.getResultList();
em.close();
return list;
}
@SuppressWarnings("unchecked")
@Override
public List<Department> findDepartmentAll() {
EntityManager em = emf.createEntityManager();
String selectSql = "select * from department where dept_state=0";
Query query = em.createNativeQuery(selectSql, Department.class);
List<Department> list = query.getResultList();
em.close();
return list;
}
}