配置数据库、编写SQL语句和基础类
This commit is contained in:
7
pom.xml
7
pom.xml
@@ -72,6 +72,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.apache.tomcat</groupId>
|
<groupId>org.apache.tomcat</groupId>
|
||||||
<artifactId>tomcat-jasper</artifactId>
|
<artifactId>tomcat-jasper</artifactId>
|
||||||
|
<version>9.0.10</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
|
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
|
||||||
<dependency>
|
<dependency>
|
||||||
@@ -83,7 +84,11 @@
|
|||||||
<groupId>javax.servlet</groupId>
|
<groupId>javax.servlet</groupId>
|
||||||
<artifactId>jstl</artifactId>
|
<artifactId>jstl</artifactId>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.projectlombok</groupId>
|
||||||
|
<artifactId>lombok</artifactId>
|
||||||
|
<optional>true</optional>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|||||||
71
sql.sql
Normal file
71
sql.sql
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
DROP DATABASE db_shiroTest;
|
||||||
|
GRANT ALL ON db_shiroTest.* TO trs@localhost IDENTIFIED BY 'shiro';
|
||||||
|
flush privileges;
|
||||||
|
CREATE DATABASE IF NOT EXISTS db_shiroTest DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci;
|
||||||
|
USE db_shiroTest;
|
||||||
|
-- 权限表 --
|
||||||
|
CREATE TABLE permission (
|
||||||
|
pid INT(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
name VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
url VARCHAR(255) DEFAULT '',
|
||||||
|
PRIMARY KEY (pid)
|
||||||
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
||||||
|
|
||||||
|
-- 用户表 --
|
||||||
|
CREATE TABLE user (
|
||||||
|
uid INT(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
username VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
password VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
PRIMARY KEY (uid)
|
||||||
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
||||||
|
|
||||||
|
-- 角色表 --
|
||||||
|
CREATE TABLE role (
|
||||||
|
rid INT(11) NOT NULL AUTO_INCREMENT,
|
||||||
|
rname VARCHAR(255) NOT NULL DEFAULT '',
|
||||||
|
PRIMARY KEY (rid)
|
||||||
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
||||||
|
|
||||||
|
-- 权限角色关系表 --
|
||||||
|
CREATE TABLE permission_role (
|
||||||
|
rid INT(11) NOT NULL,
|
||||||
|
pid INT(11) NOT NULL,
|
||||||
|
CONSTRAINT FK_prid FOREIGN KEY (rid) REFERENCES role (rid),
|
||||||
|
CONSTRAINT FK_pid FOREIGN KEY (pid) REFERENCES permission (pid)
|
||||||
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
||||||
|
|
||||||
|
-- 用户角色关系表 --
|
||||||
|
CREATE TABLE user_role (
|
||||||
|
rid INT(11) NOT NULL,
|
||||||
|
uid INT(11) NOT NULL,
|
||||||
|
CONSTRAINT FK_urid FOREIGN KEY (rid) REFERENCES role (rid),
|
||||||
|
CONSTRAINT FK_uid FOREIGN KEY (uid) REFERENCES user (uid)
|
||||||
|
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4;
|
||||||
|
|
||||||
|
-- 初始化数据 --
|
||||||
|
INSERT INTO permission (pid,name, url) VALUE ('1','add','');
|
||||||
|
INSERT INTO permission (pid,name, url) VALUE ('2','delete','');
|
||||||
|
INSERT INTO permission (pid,name, url) VALUE ('3','edit','');
|
||||||
|
INSERT INTO permission (pid,name, url) VALUE ('4','query','');
|
||||||
|
|
||||||
|
INSERT INTO user (uid,username, password) VALUE ('1','admin','0000');
|
||||||
|
INSERT INTO user (uid,username, password) VALUE ('2','trs','trs');
|
||||||
|
|
||||||
|
INSERT INTO role (rid,rname) VALUE ('1','admin');
|
||||||
|
INSERT INTO role (rid,rname) VALUE ('2','customer');
|
||||||
|
INSERT INTO role (rid,rname) VALUE ('3','guest');
|
||||||
|
|
||||||
|
INSERT INTO permission_role (rid, pid) VALUE ('1','1');
|
||||||
|
INSERT INTO permission_role (rid, pid) VALUE ('1','2');
|
||||||
|
INSERT INTO permission_role (rid, pid) VALUE ('1','3');
|
||||||
|
INSERT INTO permission_role (rid, pid) VALUE ('1','4');
|
||||||
|
|
||||||
|
INSERT INTO permission_role (rid, pid) VALUE ('2','1');
|
||||||
|
INSERT INTO permission_role (rid, pid) VALUE ('1','3');
|
||||||
|
INSERT INTO permission_role (rid, pid) VALUE ('1','4');
|
||||||
|
INSERT INTO permission_role (rid, pid) VALUE ('3','4');
|
||||||
|
|
||||||
|
INSERT INTO user_role (rid, uid) VALUE ('1','1');
|
||||||
|
INSERT INTO user_role (rid, uid) VALUE ('2','2');
|
||||||
|
|
||||||
|
|
||||||
17
src/main/java/top/fjy8018/shiro/dataobject/Permission.java
Normal file
17
src/main/java/top/fjy8018/shiro/dataobject/Permission.java
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
package top.fjy8018.shiro.dataobject;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author F嘉阳
|
||||||
|
* @date 2018/7/5 21:14
|
||||||
|
*/
|
||||||
|
@Data
|
||||||
|
public class Permission {
|
||||||
|
|
||||||
|
private Integer pid;
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private String url;
|
||||||
|
}
|
||||||
18
src/main/java/top/fjy8018/shiro/dataobject/Role.java
Normal file
18
src/main/java/top/fjy8018/shiro/dataobject/Role.java
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
package top.fjy8018.shiro.dataobject;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class Role {
|
||||||
|
|
||||||
|
private Integer rid;
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private Set<Permission> permissions = new HashSet<>();
|
||||||
|
|
||||||
|
private Set<User> users = new HashSet<>();
|
||||||
|
}
|
||||||
17
src/main/java/top/fjy8018/shiro/dataobject/User.java
Normal file
17
src/main/java/top/fjy8018/shiro/dataobject/User.java
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
package top.fjy8018.shiro.dataobject;
|
||||||
|
|
||||||
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.util.HashSet;
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
@Data
|
||||||
|
public class User {
|
||||||
|
|
||||||
|
private Integer uid;
|
||||||
|
|
||||||
|
private String password;
|
||||||
|
|
||||||
|
private Set<Role> roles = new HashSet<>();
|
||||||
|
|
||||||
|
}
|
||||||
13
src/main/java/top/fjy8018/shiro/mapper/UserMapper.java
Normal file
13
src/main/java/top/fjy8018/shiro/mapper/UserMapper.java
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
package top.fjy8018.shiro.mapper;
|
||||||
|
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
import top.fjy8018.shiro.dataobject.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author F嘉阳
|
||||||
|
* @date 2018/7/5 21:24
|
||||||
|
*/
|
||||||
|
public interface UserMapper {
|
||||||
|
|
||||||
|
User findByUsername(@Param("username") String username);
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
package top.fjy8018.shiro.service.Impl;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import top.fjy8018.shiro.dataobject.User;
|
||||||
|
import top.fjy8018.shiro.mapper.UserMapper;
|
||||||
|
import top.fjy8018.shiro.service.UserService;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author F嘉阳
|
||||||
|
* @date 2018/7/5 21:29
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class UserServiceImpl implements UserService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private UserMapper userMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public User findByUsername(String username) {
|
||||||
|
return userMapper.findByUsername(username);
|
||||||
|
}
|
||||||
|
}
|
||||||
12
src/main/java/top/fjy8018/shiro/service/UserService.java
Normal file
12
src/main/java/top/fjy8018/shiro/service/UserService.java
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
package top.fjy8018.shiro.service;
|
||||||
|
|
||||||
|
import top.fjy8018.shiro.dataobject.User;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author F嘉阳
|
||||||
|
* @date 2018/7/5 21:27
|
||||||
|
*/
|
||||||
|
public interface UserService {
|
||||||
|
|
||||||
|
User findByUsername(String username);
|
||||||
|
}
|
||||||
7
src/main/resources/application.yml
Normal file
7
src/main/resources/application.yml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
spring:
|
||||||
|
datasource:
|
||||||
|
type: com.alibaba.druid.pool.DruidDataSource
|
||||||
|
driver-class-name: com.mysql.jdbc.Driver
|
||||||
|
url: jdbc:mysql://localhost:3306/db_imis2?useUnicode=true&characterEncoding=utf-8&useSSL=true
|
||||||
|
username: trs
|
||||||
|
password: shiro
|
||||||
23
src/main/resources/mapper/UserMapper.xml
Normal file
23
src/main/resources/mapper/UserMapper.xml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
|
||||||
|
<mapper namespace="top.fjy8018.shiro.mapper.UserMapper">
|
||||||
|
|
||||||
|
<resultMap id="userMap" type="top.fjy8018.shiro.dataobject.User" >
|
||||||
|
<id property="uid" column="uid"/>
|
||||||
|
<result property="username" column="username" />
|
||||||
|
<result property="password" column="password" />
|
||||||
|
<collection property="roles" ofType="top.fjy8018.shiro.dataobject.Role">
|
||||||
|
<id property="rid" column="rid" />
|
||||||
|
<result property="rname" column="rname" />
|
||||||
|
<collection property="permission" ofType="top.fjy8018.shiro.dataobject.Permission">
|
||||||
|
<id property="pid" column="pid" />
|
||||||
|
<result property="name" column="name" />
|
||||||
|
<result property="url" column="url" />
|
||||||
|
</collection>
|
||||||
|
</collection>
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<select id="findByUsername" parameterType="string" resultMap="userMap">
|
||||||
|
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
Reference in New Issue
Block a user