?????????????????з???????д???????? SQL????????????п?Ч????
???????Web????е???????????????????????????????
????????????????????????????????????д SQL ??????????Щ SQL ???????????ɡ?
?????????????????SQL ???????????д????
????????????????????????????????????????????????д?? SQL ????????????С??
????????ò???????????????????????????????????????????????????????????????????????
??????????????????????????????????????????????????

?????????????????????????????4??????????????????????????????
?????????????????????????????????????????????????????????Ρ?
???????????????????????????У??????????????????????????????Ρ?
?????????? Shiro ???? Spring -Security ????????????????????????????????
????????????????????????????????????????????????е?????SQLд????
select a.uuid??a.name
from menu a
left join role_menu b
on a.uuid = b.menuid
left join role_user c
on b.roleid = c.roleid
where c.userid = '???uuid';
????????????????????к???????????????У??????????????????????и?SQL????????
???????濴?????????????????????????
RoleUserPO roleUserPO = roleService.findUserRoleByUserId("???ID");
if (roleUserPO == null) {
return "????????????y????";
}
List<RoleMenuPO> roleMenuPOs = roleService.findRoleMenusByRoleId(roleUserPO.getRoleid());
if (roleMenuPOs == null) {
return "?????????????????ò????";
}
List<MenuPO> menuPOLis = new ArrayList<MenuPO>();
for (RoleMenuPO roleMenuPO : roleMenuPOs) {
menuPOLis.add(menuService.findMenuById(roleMenuPO.getMenuid()));
}
return menuPOLis;
???????????????????????????????????ио?????????????????????????????
??????????????????????????????????????????????????????μ??????SQL д????
select a.*
from user a
LEFT JOIN role_user b
on a.UUID = b.userid
LEFT JOIN orga_user c
on a.uuid = c.userid
where b.ROLEID = 'c9845b33973511e6acede16e8241c0fe'
and c.ORGAID = '75284c22973211e6acede16e8241c0fe'
?????????????????????????????????
List<UserPO> userPO1s = roleService.findUsersByRoleId("???ID");
if (userPO1s == null) {
return "?????????????????";
}
List<UserPO> userPO2s = orgaService.findUsersByOrgaId("???????ID");
if (userPO2s == null) {
return "??????????????????";
}
List<UserPO> userPOList = new ArrayList<UserPO>();
for (UserPO userPO1 : userPO1s) {
for (UserPO userPO2 : userPO2s) {
if (userPO1.getUuid().equals(userPO2.getUuid())) {
userPOList.add(userPO1);
break;
}
}
}
return userPOList;
????????ио?????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????
????????????????????????????? ORM ?????????????????????????????????????????????
?????????г????? SQL ??????????????·?????????????
?????????? SQL ?????????????????? SQL  ????? SQL ??й????????У??????????????????????????????÷?????
?????????????????????????SQL ???????????????????????????????????????
??????????????ɡ???????????????????????????????????????????в???????????????