springboot 2.0.5
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.0.0</version> </dependency> <dependency> <groupId>commons-codec</groupId> <artifactId>commons-codec</artifactId> <version>1.9</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency>
<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
一共有6个表,用户表,角色表,角色权限表,权限表,用户组表,用户和用户组关联表
用户组表就是用来限制用户名只能对一张表中那些数据能操作。数据表中都是基本数据,字段不多。
用户表有角色表id,角色表与权限表对多对关系,用户组表跟用户表是多对多的关系
这个demo实现的基本功能如下
1,实现了token认证,建立个token类,保存用户的基本信息,角色,权限,所属用户组,并用静态的HashMap<String,Token>保存,String是用 java.util.UUID;生成的,这个在用户登陆时发送给前端,前端在请求其他接口时都必须带上String,然后拦截器进行检验是否有效,是否过期等。
2,实现了mybatis xml配置的一次性多表查询,如用户和用户组,一次性查询所有用户组和用户组里面包含的用户,若要细看请移步github获取项目
如果有兴趣可以进去看看:
https://github.com/weisfds/SpringBootDemo/tree/master/mybatis