一 创建视图
create view v_dict as select sys_dict_data.id, dict_type_id, dict_label, dict_value, dict_type, dict_name from sys_dict_data INNER JOIN sys_dict_type on sys_dict_data.dict_type_id = sys_dict_type.id
二 定义映射实体
package net.maku.system.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
@Data
@TableName("v_dict")
public class VDictEntity {
/**
* 字典类型ID
*/
private Long id;
private Long dictTypeId;
/**
* 字典标签
*/
private String dictLabel;
/**
* 字典值
*/
private String dictValue;
/**
* 字典类型
*/
private String dictType;
/**
* 字典名称
*/
private String dictName;
}
三 定义mapper
package net.maku.system.dao;
import net.maku.framework.common.dao.BaseDao;
import net.maku.system.entity.VDictEntity;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface VDictDao extends BaseDao<VDictEntity> {
}
四 xml 文件
<?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="net.maku.system.dao.VDictDao">
</mapper>
五 使用
private final VDictDao vDictDao;
@GetMapping("nav0")
@Operation(summary = "菜单导航")
public Result<List<VDictEntity>> nav0(){
//UserDetail user = SecurityUser.getUser();
//List<SysMenuVO> list = sysMenuService.getUserMenuList(user, MenuTypeEnum.MENU.getValue());
List<VDictEntity> list = vDictDao.selectList(new QueryWrapper<>());
return Result.ok(list);
}