一、数据库结构
二、查询所有数据记录(SQL语句)
SQL语句:
SELECT u.*, r.*, a.* FROM
(
(
( user u INNER JOIN user_role ur ON ur.user_id = u.user_id )
INNER JOIN role r ON r.role_id = ur.role_id
)
INNER JOIN role_authority ra ON ra.role_id = r.role_id
)
INNER JOIN authority a ON ra.authority_id = a.authority_id
三、详细代码(第一中方式)
1、实体类entity
package cn.lemon.demo.entity;
import lombok.Data;
import java.io.Serializable;
@Data
public class AuthorityEntity implements Serializable {
private Integer authorityId;
private String authorityName;
private String authorityDescription;
}
package cn.lemon.demo.entity;
import lombok.Data;
import java.io.Serializable;
@Data
public class RoleEntity implements Serializable {
private Integer roleId;
private String roleName;
private String roleDescription;
}
package cn.lemon.demo.entity;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@Data
public class UserEntity implements Serializable {
private Integer userId;
private String userName;
private String userSex;
private Date userBirthday;
private String userAddress;
private List roleEntityList;
private List authorityEntityList;
}
2、数据访问层dao、Mapper
package cn.lemon.demo.dao;
import cn.lemon.demo.entity.UserEntity;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface IUserDao {
/**
* 查询所有关联的数据
*