package org.taobao88.taobao.enterprise.dao.impl; import java.util.List; import org.hibernate.SessionFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional; import org.taobao88.taobao.enterprise.dao.SideMenuDAO; import org.taobao88.taobao.enterprise.entity.SideMenu; @Transactional @Repository("sideMenuDAO") public class SideMenuDAOImpl implements SideMenuDAO { @Autowired SessionFactory sessionFactory; @Override public void addSideMenu(SideMenu sideMenu) { sessionFactory.getCurrentSession().save(sideMenu); } @Override public void deleteSideMenu(SideMenu sideMenu) { sessionFactory.getCurrentSession().delete(sideMenu); } @Override public void updateSideMenu(SideMenu sideMenu) { sessionFactory.getCurrentSession().update(sideMenu); } @Override public SideMenu getSideMenuById(int id) { return (SideMenu) sessionFactory.getCurrentSession().createQuery("from SideMenu where id = :id").setParameter("id", id).uniqueResult(); } @Override public SideMenu getSideMenuByName(String menuName) { return (SideMenu) sessionFactory.getCurrentSession().createQuery("from SideMenu where menu_name = :menu_name").setParameter("menu_name", menuName).uniqueResult(); } @SuppressWarnings("unchecked") @Override public List<SideMenu> getSideMenu(String orderBy) { return (List<SideMenu>) sessionFactory.getCurrentSession().createQuery("from SideMenu where parent_id = 0 order by " + orderBy).list(); } @SuppressWarnings("unchecked") @Override public List<SideMenu> getAll() { return (List<SideMenu>) sessionFactory.getCurrentSession().createQuery("from SideMenu order by menu_name").list(); } @SuppressWarnings("unchecked") @Override public List<SideMenu> getChildren(int parentId, String orderBy) { return (List<SideMenu>) sessionFactory.getCurrentSession().createQuery("from SideMenu where parent_id = :parent_id order by " + orderBy).setParameter("parent_id", parentId).list(); } @SuppressWarnings("unchecked") @Override public List<SideMenu> getSideMenuByLevel(int level, String orderBy) { return (List<SideMenu>) sessionFactory.getCurrentSession().createQuery("from SideMenu where level = :level order by " + orderBy).setParameter("level", level).list(); } }