SELECT p.* ,r.role_name FROM user
u, role
r, permission
p
WHERE username = #{username} AND u.role_id = r.id AND p.role_id = r.id;
(2)DAO层:
@Mapper
public interface UserMapper {
User queryUserByUsername(@Param(“username”) String username);
Permissions queryPermissionByUsername(@Param(“username”) String username);
}
(3)service层:
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public User queryUserByUsername(String username) {
return userMapper.queryUserByUsername(username);
}
@Override
public Permissions queryPermissionByUsername(String username) {
return userMapper.queryPermissionByUsername(username);
}
}
弄到这里,我们的mybatis+springboot整合也基本结束,所以在测试类里测试一下:
@SpringBootTest
class CsyApplicationTests {
@Autowired
private UserMapper userMapper;
@Test
void contextLoads() {
User admin = userMapper.queryUserByUsername(“admin”);
System.out.println(admin.toString());
Permissions permission = userMapper.queryPermissionByUsername(“admin”);
System.out.println(permission.toString());
}
}
测试结果:
得到了查询结果
====================================================================================
前端页面:
在html页面我们整合了Thymeleaf,使用了Jquery,semantic,需要导包
index.html代码:
在这里,如果是User就只能访问A,Admin能访问A,B,superAdmin能访问A,B,C
xmlns:th=“http://www.thymeleaf.org”
xmlns=“http://www.w3.org/1999/xhtml”
xmlns:layout=“http://www.ultraq.net.nz/web/thymeleaf/layout”
xmlns:shiro=“http://www.pollix.at/thymeleaf/shiro”
name=“viewport”
content=“width=device-width, initial-scale=1, maximum-scale=1”
/>
href=“https://cdn.bootcss.com/semantic-ui/2.4.1/semantic.min.css”
rel=“stylesheet”
/>
首页
关于
登录
用户名:
注销