springboot+mybatis实现简单的登录及基于用户和角色表的增删改查

效果展示:

1,登录页

springboot+mybatis实现简单的登录及基于用户和角色表的增删改查_第1张图片

2. 主页面springboot+mybatis实现简单的登录及基于用户和角色表的增删改查_第2张图片

效果就是这样了,下面是代码的结构层级

springboot+mybatis实现简单的登录及基于用户和角色表的增删改查_第3张图片

示例代码已上传 github,有兴趣可下载,另附mysql运行脚本

 

建立一个Spring Assistant项目,这里ideal使用的是社区版,如果你是用的是专业版,会稍有区别,好像是对应Spring initializr。springboot+mybatis实现简单的登录及基于用户和角色表的增删改查_第4张图片

springboot+mybatis实现简单的登录及基于用户和角色表的增删改查_第5张图片

springboot+mybatis实现简单的登录及基于用户和角色表的增删改查_第6张图片

springboot+mybatis实现简单的登录及基于用户和角色表的增删改查_第7张图片

项目建完后,就可以开始你的表演了。

以登录的校验为开头讲解。首先,mysql里已经建好了相关表,上面给了运行文件。

1.role

springboot+mybatis实现简单的登录及基于用户和角色表的增删改查_第8张图片

2.user

springboot+mybatis实现简单的登录及基于用户和角色表的增删改查_第9张图片

3.user_role

springboot+mybatis实现简单的登录及基于用户和角色表的增删改查_第10张图片

然后,根据根据建立的数据表,创建实体类,放在com.zj.entity目录下:

1.User

package com.zj.service.entity;

import java.io.Serializable;

public class User implements Serializable {
    private Integer id;
    private String username;
    private String password;
    private Integer isDelete;
    private String roleName;

    public Integer getIsDelete() {
        return isDelete;
    }

    public void setIsDelete(Integer idDelete) {
        this.isDelete = idDelete;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getRoleName() {
        return roleName;
    }

    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }
}

2. Role

package com.zj.service.entity;

import java.io.Serializable;

public class Role implements Serializable {
    private Integer id;
    private String rolename;
    private Integer isRead;
    private Integer isWrite;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getRolename() {
        return rolename;
    }

    public void setRolename(String rolename) {
        this.rolename = rolename;
    }

    public Integer getIsRead() {
        return isRead;
    }

    public void setIsRead(Integer isRead) {
        this.isRead = isRead;
    }

    public Integer getIsWrite() {
        return isWrite;
    }

    public void setIsWrite(Integer isWrite) {
        this.isWrite = isWrite;
    }
}

3.UserRole

package com.zj.service.entity;

import java.io.Serializable;

public class UserRole implements Serializable {
    private Integer id;
    private Integer userId;
    private Integer roleId;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public Integer getRoleId() {
        return roleId;
    }

    public void setRoleId(Integer roleId) {
        this.roleId = roleId;
    }
}

然后,定义要各实体对应的操作的方法。登录,那肯定涉及一个用户的查询,判定用户是否存在,所以先建一个user的mapper,用以数据库操作,放在com.zj.mapper目录下。这里使用mybatis注解的方式实现(有个小的注意点,比如"from user ",换行的话,在uses后边加个空格,要不然会和后面的连在一起变成"from userwhere"),注解实现比较简单,基本一看就会,就是在抽象方法上面写SQL。如果传过来的是User对象,以取username属性为例,则使用#{username}的方式,#{username}的意思是在使用,会调用这个对象实体类中定义的getUsername()方法;如果传的是个变量,比如int id,则直接用#{id}即可

 

 

 

 

 

 

 

 

你可能感兴趣的:(Spring)