본문 바로가기
개발/Security

[SpringBoot] Security 로그인 인증, 인가(5) - Vo , Mapper

by 코딩하는 흰둥이 2023. 4. 30.

이전글 https://greed-yb.tistory.com/226

 

[SpringBoot] Security 로그인 인증, 인가(4) - AuthProvider

이전글 https://greed-yb.tistory.com/225 [SpringBoot] Security 로그인 인증, 인가(3) - handler 이전글 https://greed-yb.tistory.com/224 [SpringBoot] Security 로그인 인증, 인가(2) - SecurityConfig 이전글 https://greed-yb.tistory.com/223

greed-yb.tistory.com

 

DB
CREATE TABLE USERMEMBER(
ID				VARCHAR2(20) ,
PASSWORD			VARCHAR2(200),
NAME				VARCHAR2(20)
)

테스트를 위해 ID, PASSWORD , NAME만 사용하였다

본인의 프로젝트에 맞춰서 변경하면 된다

 

일반 회원 , 매니저, 관리자 등의 권한이 필요하다면

Role 컬럼 추가하여 AuthProvider Class 에 

해당 컬럼으로 권한을 넣어주면 된다

 

 

 

UserVo
package com.example.practice.vo;

public class UserVo {
    private String id;
    private String name;
    private String password;


    public String getId() {
        return id;
    }

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

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    
    public String getPassword() {
        return password;
    }

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

    @Override
    public String toString() {
        return "UserVo{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

 

 

UserMapper.java
package com.example.practice.mapper.user;

import com.example.practice.vo.UserVo;
import org.apache.ibatis.annotations.Mapper;


@Mapper
public interface UserMapper {
    /**
     * 회원가입
     * @param userVo
     */
    void insertUser(UserVo userVo);

    /**
     * 유저 정보
     * @param username
     * @return
     */
    UserVo getUserById(String username);

    /**
     * 회원 정보 수정
     * @param userVo
     */
    void updateUser(UserVo userVo);

}

 

 

UserMapper.xml
<?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="com.example.practice.mapper.user.UserMapper">
    <!-- 회원가입 -->
    <insert id="insertUser" parameterType="com.example.practice.vo.UserVo">
        INSERT INTO USERMEMBER
            (id, name, password)
        VALUES
            (#{id},#{name}, #{password})
    </insert>

    <!-- 회원 정보 가져오기 -->
    <select id="getUserById" resultType="com.example.practice.vo.UserVo">
        SELECT
            ID,
            PASSWORD,
            NAME
        FROM USERMEMBER
        WHERE id = #{id}
    </select>

    <!-- 회원정보 수정 -->
    <update id="updateUser" parameterType="com.example.practice.vo.UserVo">
        UPDATE USERMEMBER
        SET name = #{name},
            password = #{password}
        WHERE id = #{id}
    </update>
</mapper>

 

댓글