Controller

package kr.or.ddit.controller.member;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;

import lombok.extern.slf4j.Slf4j;

@Controller
@RequestMapping("/crud/member")
@Slf4j
public class CrudMemberController {

**// 등록 폼 페이지로 이동**
	@GetMapping(value="/register")
	public String crudMemberRegisterForm() {
		log.info("crudMemberRegisterForm() 실행..!");
		return "crud/member/register";
	}
}

Service

interface로 먼저 IBoardSerivce를 생성하고 한다.

package kr.or.ddit.service.impl;

import javax.inject.Inject;

import org.springframework.stereotype.Service;

import kr.or.ddit.mapper.MemberMapper;
import kr.or.ddit.service.IMemberService;
import kr.or.ddit.vo.MemberAuth;
import kr.or.ddit.vo.MemberVO;

@Service
public class MemberServiceImpl implements IMemberService {

	@Inject
	private MemberMapper mapper;
	
	@Override
	public void register(MemberVO member) {
		mapper.create(member);
		
		MemberAuth memberAuth = new MemberAuth();
		memberAuth.setUserNo(member.getUserNo());
		memberAuth.setAuth("ROLE_USER");
		
		mapper.createAuth(memberAuth);
	}

}

MemberMapper

package kr.or.ddit.mapper;

import kr.or.ddit.vo.MemberAuth;
import kr.or.ddit.vo.MemberVO;

public interface MemberMapper {

	public void create(MemberVO member);

	public void createAuth(MemberAuth memberAuth);

}

Mapper

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "<https://mybatis.org/dtd/mybatis-3-mapper.dtd>">
 <mapper namespace="kr.or.ddit.mapper.MemberMapper">
 	<insert id="create" parameterType="memberVO" useGeneratedKeys="true">
 		<selectKey keyProperty="userNo" resultType="int" order="BEFORE">
 			select seq_member.nextval from dual
  		</selectKey>
		insert into member(
			user_no, user_id, user_pw, user_name, reg_date, upd_date
		)  values (
			#{userNo}, #{userId}, #{userPw}, #{userName}, sysdate, sysdate
		)
 	</insert>
 	
 	<insert id="createAuth" parameterType="memberAuth">
 		insert into member_auth(
 			user_no, auth
 		)values(
 			#{userNo}, #{auth}
 		)
 	</insert>
 </mapper>

JSP 페이지

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script src="<https://ajax.googleapis.com/ajax/libs/jquery/3.7.0/jquery.min.js>"></script>
</head>
<body>
	<h2>Register</h2>
	<form action="/crud/member/register" method="post" id="member">
		<table>
			<tr>
				<td>userId</td>
				<td>
					<input type="text" id="userId" name="userId">
				</td>
			</tr>
			<tr>
				<td>userPw</td>
				<td>
					<input type="text" id="userPw" name="userPw">
				</td>
			</tr>
			<tr>
				<td>userName</td>
				<td>
					<input type="text" id="userName" name="userName">
				</td>
			</tr>
		</table>
		<input type="button" id="btnRegister" value="Register">
		<input type="button" id="btnList" value="list">
	</form>
</body>
<script type="text/javascript">
$(function(){
	var member = $("#member");
	var btnRegister = $("#btnRegister");
	var btnList = #("#btnList");
	
	btnRegister.on("click", function(){
		var userId = $("#userId").val();
		var userPw = $("#userPw").val();
		var userName = $("#userName").val();
		
		if(userId == null || userId == ""){
			alert("아이디를 입력해주세요.")
			return false;
		}
		
		if(userPw == null || userPw == ""){
			alert("비밀번호를 입력해주세요.")
			return false;
		}
		
		if(userName == null || userName == ""){
			alert("이름을 입력해주세요.")
			return false;
		}
		
		member.submit(); // 데이터 전송
	});
	
	btnList.on("click", function(){
		location.href = "/crud/member/list";
	})
})
</script>
</html>

해당 정보를 입력하고 등록을 하면

Untitled

등록이 정상적으로 이루어지고,

Untitled