day06_springboot综合案例
资源权限管理
查询资源权限
查询资源权限执行流程

编写PermissionMapper接口
public interface PermissionMapper {
    /**
     * 查询资源权限
     */
    List<Permission> findAll();
}
编写PermissionService
public interface PermissionService {
    /**
     * 查询资源权限
     * @param page
     * @param size
     * @return
     */
    List<Permission> findAll();
}
@Service
public class PermissionServiceImpl implements PermissionService {
    @Autowired
    private PermissionMapper permissionMapper;
    /**
     * 查询资源权限
     * @param page
     * @param size
     * @return
     */
    @Override
    public List<Permission> findAll() {
        
        return this.permissionMapper.findAll();
    }
}
编写PermissionController
@Controller
@RequestMapping("permission")
public class PermissionController {
    @Autowired
    private PermissionService permissionService;
    /**
     * 查询所有
     * @param page
     * @param size
     * @param model
     * @return
     */
    @GetMapping("findAll")
    public String findAll(@RequestParam(value = "page", defaultValue = "1") Integer page ,
                          @RequestParam(value = "size",defaultValue = "5") Integer size,
                          Model model){
        PageHelper.startPage(page,size);
        List<Permission> list =  this.permissionService.findAll();
        PageInfo pageInfo = new PageInfo(list);
        model.addAttribute("pageInfo",pageInfo);
        return "permission-list";
    }
}
编写PermissionMapper.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="cn.yanqi.ssm.mapper.PermissionMapper">
    <select id="findAll" resultType="Permission">
        select * from permission
    </select>
</mapper>
测试

添加资源权限
添加资源权限执行流程

编写PermissionMapper接口
    /**
     * 添加资源权限
     * @param permission
     */
    void save(Permission permission);
编写PermissionService
    /**
     * 添加资源权限
     * @param permission
     */
    void save(Permission permission);
   /**
     * 添加资源权限
     * @param permission
     */
    @Override
    public void save(Permission permission) {
        this.permissionMapper.save(permission);
    }
编写PermissionController
@Controller
@RequestMapping("permission")
public class PermissionController {
    @Autowired
    private PermissionService permissionService;
    /**
     * 添加资源权限
     * @param permission
     * @return
     * @throws Exception
     */
    @RequestMapping("save")
    public String save(Permission permission){
        permissionService.save(permission);
        return "redirect:findAll";
    }
}
编写PermissionMapper.xml
    <!--添加资源权限-->
    <insert id="save">
        insert into permission(permissionName,url) values(#{permissionName},#{url})
    </insert>
测试


获取用户名
后台代码
@Controller
@RequestMapping("user")
public class UserController {
    /**
     * 获取登录的用户名
     * @return
     */
    @RequestMapping("getUsername")
    @ResponseBody
    public String getUsername(){
        User principal = (User) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
        String username = principal.getUsername();
        return username;
    }
}    
页面显示
aside.html
<!--显示用户名-->
<span id="asideName"></span> 在线
header.html
<!--显示用户名-->
<span class="hidden-xs" id="headName"> </span>
在static下创建js,通过js获取头部和侧边栏 显示用户名span标签
<img src="assets/image-20230614141947261.png" alt="image-20230614141947261" style="zoom:50%;" />
    /*获取用户登录名称*/
    function getLoginUsername(){
        $.get('user/getUsername',function (data){
            $('#asideName').text(data)
            $('#headName').text(data)
        });
    }
每一个页面引入 getPrincipalUserName.js










