Spring/Spring으로 Web연습하기
SpringBoot로 Web만들기(2)
Seok_IN
2022. 4. 20. 22:12
Happy House 만들기🙂 - 회원가입
1. DB 만들기
create database happyhouse2;
use happyhouse2;
create table member(
id varchar(20),
name varchar(20),
pw varchar(500)
);
2. index.html에 로그인 / 회원가입 기능 추가하기
<div id="loginDiv" style='color:white; font-size:17px'>
ID<input id="id">
PW<input id="pw">
<button class="btn btn-outline-light" id="loginBtn">로그인</button>
<button class="btn btn-outline-light" onclick="location.href='html/memberInsert.html'">회원가입</button>
</div>
<!-- 밑에 영역에 js 참조 코드 추가 -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="js/my.js"></script>
3. memberInsert.html 만들기
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<center>
<h1>회원가입 페이지</h1>
ID<input id="id">
PW<input id="pw">
NAME<input id="name">
<button id="memberInsertBtn">가입하기</button>
</center>
</body>
</html>
4. 결과 테스트하기
5. SQL문 연동을 위한 mybatis/config/myBatisConfig.xml 만들기
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<mappers>
<mapper resource="mybatis/mappers/member.xml" />
</mappers>
</configuration>
6. mybatis/mappers/member.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.ssafy.web.dao.MemberDAO">
<select id="login" parameterType="memberVO" resultType="String">
select name from member where id=#{id} and pw=#{pw}
</select>
<insert id="memberInsert" parameterType="memberVO">
insert into member(id, pw, name) values(#{id}, #{pw}, #{name})
</insert>
</mapper>
7. MemberController 만들기
package com.ssafy.web.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import com.ssafy.web.service.MemberService;
import com.ssafy.web.vo.MemberVO;
@RestController
public class MemberController {
@Autowired
MemberService memberService;
@PostMapping("memberInsert")
public String memberInsert(MemberVO vo) {
memberService.memberInsert(vo);
return "ok";
}
}
8. MemberVO만들기
package com.ssafy.web.vo;
import lombok.Data;
import lombok.ToString;
@Data
@ToString
public class MemberVO {
private String id, pw, name;
}
9. MemberService만들기
package com.ssafy.web.service;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ssafy.web.dao.MemberDAO;
import com.ssafy.web.vo.MemberVO;
@Service
public class MemberService {
@Autowired
MemberDAO memberDAO;
public void memberInsert(MemberVO vo) {
memberDAO.memberInsert(vo);
}
}
10. MemberDAO 만들기
package com.ssafy.web.dao;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import com.ssafy.web.vo.MemberVO;
@Repository
@Mapper
public interface MemberDAO {
void memberInsert(MemberVO vo);
}
11. my.js 에 회원가입하는 내용 추가하기
$("#memberInsertBtn").click(function(){
const id = $("#id").val();
const pw = $("#pw").val();
const name = $("#name").val();
$.post('memberInsert', {id, pw, name}, function(data){
if(data == "ok"){
alert("회원가입 완료!");
location.href="/";
}
else{
alert("회원가입 실패..");
}
});
});
12. 결과 확인