Skip to content
Snippets Groups Projects
Commit c8e8f569 authored by 장 무현's avatar 장 무현
Browse files

The End

parent cdb175b1
Branches
No related tags found
No related merge requests found
package com.example.demo.constant;
public enum Role {
USER, ADMIN
}
package com.example.demo.controller;
import com.example.demo.service.MemberService;
import com.example.demo.entity.Member;
import com.example.demo.dto.MemberDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.repository.query.Param;
import org.springframework.web.bind.annotation.*;
import com.google.gson.JsonParser;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.example.demo.constant.Role;
@RestController
public class MemberController {
@Autowired
MemberService memberService;
public Member createMember(){
MemberDto memberDto = new MemberDto();
memberDto.setEmail("test@email.com");
memberDto.setName("홍길동");
memberDto.setAddress("서울시 마포구 합정동");
memberDto.setPassword("1234");
return Member.createMember(memberDto);
}
@RequestMapping(value = "/membertest", method = RequestMethod.GET)
public void membertest(){
Member member = createMember();
Member savedMember = memberService.saveMember(member);
System.out.println(member);
System.out.println(savedMember);
}
@RequestMapping(value = "/makeMember", method = RequestMethod.POST)
public String makeMember(@RequestBody String param){
System.out.println(param);
JsonElement element = JsonParser.parseString(param);
JsonObject object = element.getAsJsonObject();
String id = object.get("id").getAsString();
System.out.println("id : " + id);
String email = object.get("email").getAsString();
System.out.println("email : " + email);
String address = object.get("address").getAsString();
System.out.println("address : " + address);
String name = object.get("name").getAsString();
System.out.println("name : " + name);
String password = object.get("password").getAsString();
System.out.println("password : " + password);
Member member = new Member();
member.setName(name);
member.setEmail(email);
member.setAddress(address);
member.setPassword(password);
member.setRole(Role.USER);
memberService.saveMember(member);
return "OK";
}
}
......@@ -11,18 +11,34 @@ import com.google.gson.JsonObject;
@RestController
public class TestController{
@RequestMapping(value = "/", method = RequestMethod.GET)
public String test(@RequestParam("id") String id){
JsonObject obj = new JsonObject();
obj.addProperty("title", "산사와 아가싸");
obj.addProperty("content", "로맨틱 코메디");
@RequestMapping(value = "/productlist", method = RequestMethod.GET)
public String productList(){
JsonObject data = new JsonObject();
data.addProperty("time", "토일 8시");
obj.add("data", data);
JsonObject obj1 = new JsonObject();
obj1.addProperty("item_nm", "수제 햄버거");
obj1.addProperty("item_detail", "소고기 패티와 토마토가 들어 있는 햄버거");
obj1.addProperty("item_reg_date", "2022/04/22");
obj1.addProperty("item_price", "4000");
return obj.toString();
JsonObject obj2 = new JsonObject();
obj2.addProperty("item_nm", "카레라이스");
obj2.addProperty("item_detail", "매운 3분 카레라이스");
obj2.addProperty("item_reg_date", "2022/03/10");
obj2.addProperty("item_price", "8000");
JsonObject obj3 = new JsonObject();
obj3.addProperty("item_nm", "라면");
obj3.addProperty("item_detail", "소고기 라면");
obj3.addProperty("item_reg_date", "2021/09/10");
obj3.addProperty("item_price", "1500");
JsonArray infoArray = new JsonArray();
infoArray.add(obj1);
infoArray.add(obj2);
infoArray.add(obj3);
return infoArray.toString();
}
}
}
\ No newline at end of file
package com.example.demo.dto;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class MemberDto {
private String name;
private String email;
private String password;
private String address;
}
package com.example.demo.entity;
import javax.persistence.*;
import com.example.demo.dto.MemberDto;
import com.example.demo.constant.Role;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Entity
@Table(name="member")
@Getter
@Setter
@ToString
public class Member {
@Id
@Column(name="member_id")
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
@Column(unique = true)
private String email;
private String password;
private String address;
@Enumerated(EnumType.STRING)
private Role role;
public static Member createMember(MemberDto memberDto){
Member member = new Member();
member.setName(memberDto.getName());
member.setEmail((memberDto.getEmail()));
member.setAddress((memberDto.getAddress()));
member.setPassword(memberDto.getPassword());
member.setRole(Role.USER);
return member;
}
}
package com.example.demo.repository;
import org.springframework.data.jpa.repository.JpaRepository;
import com.example.demo.entity.*;
public interface MemberRepository extends JpaRepository<Member, Long>{
Member findByEmail(String email);
}
package com.example.demo.service;
import com.example.demo.entity.Member;
import com.example.demo.repository.MemberRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
@Service
@Transactional
@RequiredArgsConstructor
public class MemberService {
private final MemberRepository memberRepository;
public Member saveMember(Member member){
validateDuplicatetMember(member);
return memberRepository.save(member);
}
private boolean validateDuplicatetMember(Member member){
Member findMember = memberRepository.findByEmail(member.getEmail());
if(findMember != null){
System.out.println("이미 가입된 회원입니다.");
return false;
}
return true;
}
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
<link rel="stylesheet" href="/webjars/bootstrap/5.1.3/css/bootstrap.min.css">
<script src="/webjars/jquery/3.6.0/jquery.min.js"></script>
<script src="/webjars/popper.js/2.9.3/umd/popper.min.js"></script>
<script src="/webjars/bootstrap/5.1.3/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container">
<table class="table table-hover">
<thead class="thead-dark">
<tr>
<th>codeId</th>
<th>code</th>
<th>codeNm</th>
<th>codeDc</th>
</tr>
</thead>
<tbody>
<tr>
<td>COM001</td>
<td>REG01</td>
<td>단일 게시판 이용 등록</td>
<td>단일 게시판 이용 등록</td>
</tr>
<tr>
<td>COM001</td>
<td>REG02</td>
<td>커뮤니티 등록/td>
<td>커뮤니티 등록</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Product</title>
<link rel="stylesheet" href="/webjars/bootstrap/5.1.3/css/bootstrap.min.css">
<script src="/webjars/jquery/3.6.0/jquery.min.js"></script>
<script src="/webjars/popper.js/2.9.3/umd/popper.min.js"></script>
<script src="/webjars/bootstrap/5.1.3/js/bootstrap.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$.ajax({
type: 'GET',
url: '/productlist',
success: function(data){
var array = JSON.parse(data);
for(i=0; i < array.length; i++){
var obj = array[i];
html = '';
html += '<tr>';
html += '<td>' + obj.item_nm + '</td>'
html += '<td>' + obj.item_detail + '</td>'
html += '<td>' + obj.item_reg_date + '</td>'
html += '<td>' + obj.item_price + '</td>'
html += '</tr>';
$("#tableBody").append(html);
}
}
});
});
});
</script>
</head>
<body>
<h1>상품 데이터 목록 출력</h1>
<button>조회</button>
<table class="table table-hover">
<thead class="thead-dark">
<tr>
<th>상품이름</th>
<th>상품상세설명</th>
<th>상품등록일</th>
<th>상품가격</th>
</tr>
</thead>
<tbody id="tableBody">
</tbody>
</table>
</body>
</html>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment