1.在PermissController中添加查询方法
@ApiOperation("查询所有菜单")
@GetMapping("/menus")
public List<Menu> getAllMenus() {
return menuService.getAllMenus();
}
2.在Service中写接口
//查询所有菜单
List<Menu> getAllMenus();
3.在service实现类中实现接口,调用mapper中的方法
//查询所有菜单
@Override
public List<Menu> getAllMenus() {
return menuMapper.getAllMenus();
}
4.mapper中添加接口方法
//查询所有菜单
List<Menu> getAllMenus();
5.在mapper.xml中写sql语句和对应resultmap配置
<resultMap id="MenusWithChildren" type="com.xxxx.server.pojo.Menu" extends="BaseResultMap">
<id column="id2" property="id"/>
<result column="name2" property="name"/>
<collection property="children" ofType="com.xxxx.server.pojo.Menu">
<id column="id2" property="id"/>
<result column="name2" property="name"/>
<collection property="children" ofType="com.xxxx.server.pojo.Menu">
<id column="id3" property="id"/>
<result column="name3" property="name"/>
</collection>
</collection>
</resultMap>
<select id="getAllMenus" resultMap="MenusWithChildren">
SELECT
m1.id AS id1,
m1.`name`AS name1,
m2.id AS id2,
m2.`name`AS name2,
m3.id AS id3,
m3.`name`AS name3
FROM
t_menu m1,
t_menu m2,
t_menu m3
WHERE
m1.id = m2.parentId
and
m2.id = m3.parentId
AND
m3.enabled=True
</select>