<?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.chengyi.common.dao.MenuMapper" >
<!--<cache type="com.cms.util.RedisCache"/>-->
<resultMap id="BaseResultMap" type="com.chengyi.common.model.Menu" >
<id column="menuId" property="menuId" jdbcType="INTEGER" />
<result column="menuName" property="menuName" jdbcType="VARCHAR" />
<result column="url" property="url" jdbcType="VARCHAR" />
<result column="menuAuth" property="menuAuth" jdbcType="VARCHAR" />
<result column="menuType" property="menuType" jdbcType="INTEGER" />
<result column="parentId" property="parentId" jdbcType="INTEGER" />
<result column="icon" property="icon" jdbcType="VARCHAR" />
<result column="menuOrder" property="menuOrder" jdbcType="INTEGER" />
<result column="enabled" property="enabled" jdbcType="INTEGER" />
</resultMap>
<resultMap id="BaseTreeResultMap" type="com.chengyi.common.model.Menu" >
<id column="menuId" property="menuId" jdbcType="INTEGER" />
<result column="menuName" property="menuName" jdbcType="VARCHAR" />
<result column="url" property="url" jdbcType="VARCHAR" />
<result column="menuAuth" property="menuAuth" jdbcType="VARCHAR" />
<result column="menuType" property="menuType" jdbcType="INTEGER" />
<result column="parentId" property="parentId" jdbcType="INTEGER" />
<result column="icon" property="icon" jdbcType="VARCHAR" />
<result column="menuOrder" property="menuOrder" jdbcType="INTEGER" />
<result column="enabled" property="enabled" jdbcType="INTEGER" />
<collection column="menuId" property="childMenus" fetchType="eager" javaType="java.util.ArrayList"
ofType="com.chengyi.common.model.Menu" select="getNextNodeTree"/>
</resultMap>
<resultMap id="NextTreeResultMap" type="com.chengyi.common.model.Menu" >
<id column="menuId" property="menuId" jdbcType="INTEGER" />
<result column="menuName" property="menuName" jdbcType="VARCHAR" />
<result column="url" property="url" jdbcType="VARCHAR" />
<result column="menuAuth" property="menuAuth" jdbcType="VARCHAR" />
<result column="menuType" property="menuType" jdbcType="INTEGER" />
<result column="parentId" property="parentId" jdbcType="INTEGER" />
<result column="icon" property="icon" jdbcType="VARCHAR" />
<result column="menuOrder" property="menuOrder" jdbcType="INTEGER" />
<result column="enabled" property="enabled" jdbcType="INTEGER" />
<collection column="menuId" property="childMenus" fetchType="eager" javaType="java.util.ArrayList"
ofType="com.chengyi.common.model.Menu" select="getNextNodeTree"/>
</resultMap>
<sql id="Base_Column_List">
menuId,menuName,url,menuAuth,menuType,parentId,icon,MenuOrder,enabled
</sql>
<!--<select id="getNextNodeTree" flushCache="true" resultMap="NextTreeResultMap">-->
<select id="getNextNodeTree" resultMap="NextTreeResultMap">
SELECT
<include refid="Base_Column_List"/>
FROM menu
WHERE parentId = #{menuId}
</select>
<select id="getNodeTree" resultMap="BaseTreeResultMap">
SELECT
<include refid="Base_Column_List"/>
FROM menu
WHERE parentId = 0
</select>
</mapper>
xml的配置如上,具体的javaBean 和controller 等就不详细写了。