package com.lixavier.dao;

import com.lixavier.model.TbMenu;
import org.apache.ibatis.annotations.Param;
import java.util.List;

/**
 * 
 * TbMenuDao数据库操作接口类 @author LiXavier
 * 
 **/

public interface TbMenuDao{


	/**
	 * 
	 * 查询（查询所有）
	 * 
	 **/
	List<TbMenu> getAll();

	/**
	 * 
	 * 查询（根据主键ID查询）
	 * 
	 **/
	TbMenu getByPrimaryKey(@Param("id") Integer id);

	TbMenu getByPrimaryKeyForUpdate(@Param("id") Integer id);

	List<TbMenu> getMenuListByCondition(
			@Param("urlLink")String urlLink,
			@Param("parentId")Integer parentId,
			@Param("numLevel")Byte numLevel
	);

	List<TbMenu> getMenuListAndCountByParentId(
			@Param("parentId")Integer parentId
	);

	Integer getMaxNumOrder(
			@Param("parentId")Integer parentId
	);

	List<TbMenu> getMenuListByparentId(
			@Param("id")Integer urlLink,
			@Param("parentId")Integer parentId
	);

	/**
	 * 
	 * 删除（根据主键ID删除）
	 * 
	 **/
	int deleteTbMenu(@Param("id") Integer id);

	/**
	 * 
	 * 添加（匹配有值的字段）
	 * 
	 **/
	int insertTbMenu(TbMenu record);

	/**
	 * 
	 * 修改 （匹配有值的字段）
	 * 
	 **/
	int updateTbMenu(TbMenu record);

}