这里写目录标题
数据库表部分
员工表
角色表
员工-角色中间表
- 员工和角色关系是多对多关系
实体类部分
角色实体类
员工实体类
- 为了和角色表连,额外新增属性 List roles = new ArrayList<>();
- 中间表不需要编写对应的实体类
mapper接口的sql语句部分
角色mapper部分
- 角色表和中间表连,通过员工id获取所有角色数据
员工mapper部分(employeeMapper)
sql部分
- 其实就是逆向工程默认有的,这里主要改写resultMap返回封装对象
resultMap部分
- 主要利用上面角色mapper中的额外sql语句,将查询到的对应角色封装进员工实体类的角色集合属性中
- 将员工sql查询出来的id,放入额外角色sql语句作为参数,此语句查询出的值封装进员工实体类的角色集合属性中
员工业务层实体类部分(employeeService)
- 直接引用mapper的方法就好了
控制器层
- 接收前端传过来的员工ID,即可返回对应的一个员工实体类数据
- 这样返回的员工就携带了对应的角色集合,可回显到页面中