<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.pj.project.app_menu.AppMenuMapper">




	<!-- ================================== 查询相关 ================================== -->
	<!-- select id, path, menu_name, icon, sort, enable, auth, create_time, create_by, create_name, update_time, update_by, update_name from app_menu  -->
	
	<!-- 通用映射：自动模式 -->
	<resultMap id="model" autoMapping="true" type="com.pj.project.app_menu.AppMenu"></resultMap>
	
	<!-- 公共查询sql片段 -->
	<sql id="select_sql">
		select * 
		from app_menu 
	</sql>

	
	<!-- 查集合 - 根据条件（参数为空时代表忽略指定条件） [G] -->
	<select id="getList" resultMap="model">
		<include refid="select_sql"></include>
		<where>
			<if test=' this.has("id") '> and id = #{id} </if>
			<if test=' this.has("path") '> and path = #{path} </if>
			<if test=' this.has("menuName") '> and menu_name = #{menuName} </if>
			<if test=' this.has("icon") '> and icon = #{icon} </if>
			<if test=' this.has("sort") '> and sort = #{sort} </if>
			<if test=' this.has("enable") '> and enable = #{enable} </if>
			<if test=' this.has("auth") '> and auth = #{auth} </if>
			<if test=' this.has("createTime") '> and create_time = #{createTime} </if>
			<if test=' this.has("createBy") '> and create_by = #{createBy} </if>
			<if test=' this.has("createName") '> and create_name = #{createName} </if>
			<if test=' this.has("updateTime") '> and update_time = #{updateTime} </if>
			<if test=' this.has("updateBy") '> and update_by = #{updateBy} </if>
			<if test=' this.has("updateName") '> and update_name = #{updateName} </if>
		</where>
		order by
		<choose>
			<when test='sortType == 1'> id desc </when>
			<when test='sortType == 2'> path desc </when>
			<when test='sortType == 3'> menu_name desc </when>
			<when test='sortType == 4'> icon desc </when>
			<when test='sortType == 5'> sort asc </when>
			<when test='sortType == 6'> enable desc </when>
			<when test='sortType == 7'> auth desc </when>
			<when test='sortType == 8'> create_time desc </when>
			<when test='sortType == 9'> create_by desc </when>
			<when test='sortType == 10'> create_name desc </when>
			<when test='sortType == 11'> update_time desc </when>
			<when test='sortType == 12'> update_by desc </when>
			<when test='sortType == 13'> update_name desc </when>
			<otherwise> id desc </otherwise>
		</choose>
	</select>



</mapper>
