practice0801_RestApi.zip
0.09MB
CREATE TABLE `tbl_member` (
`mno` INT(11) NOT NULL AUTO_INCREMENT,
`NAME` VARCHAR(50) NOT NULL COLLATE 'utf8mb4_general_ci',
`id` VARCHAR(20) NOT NULL COLLATE 'utf8mb4_general_ci',
`pw` VARCHAR(20) NOT NULL COLLATE 'utf8mb4_general_ci',
PRIMARY KEY (`mno`) USING BTREE,
UNIQUE INDEX `id` (`id`) USING BTREE
)
INSERT INTO `tbl_member` (`mno`, `NAME`, `id`, `pw`) VALUES (2, '흰둥이ㅎㅎ', 'hin0', '1234');
INSERT INTO `tbl_member` (`mno`, `NAME`, `id`, `pw`) VALUES (3, '짱구2', '짱구2', '12345');
INSERT INTO `tbl_member` (`mno`, `NAME`, `id`, `pw`) VALUES (4, '짱구3', '짱구3', '12345');
INSERT INTO `tbl_member` (`mno`, `NAME`, `id`, `pw`) VALUES (5, '짱구18', '1818', '1818');
INSERT INTO `tbl_member` (`mno`, `NAME`, `id`, `pw`) VALUES (6, 'ㅎㅎ', 'ㅎㅎ', 'ㅎㅎ');
package com.study.springboot;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.study.springboot.dto.MemberDto;
import com.study.springboot.restApi.controller.RestApiController;
@Controller
public class MyController {
@Autowired
RestApiController rac;
@RequestMapping("/")
public String root() {
return "redirect:list";
}
@RequestMapping("/list")
public String list(Model model) {
List<MemberDto> getList= rac.list();
model.addAttribute("list", getList);
return "list";
}
@RequestMapping("/detail")
public String detail(@RequestParam("mno") String mno, Model model) {
int mnos = Integer.parseInt(mno);
MemberDto md = rac.oneList(mnos);
model.addAttribute("member", md);
return "detail";
}
@RequestMapping("/regist")
public String regist() {
return "regist";
}
@RequestMapping("/registPost")
public String registPost(MemberDto member) {
rac.insert(member);
return "redirect:list";
}
@RequestMapping("/update")
public String update(
@RequestParam("mno") String mno,
@RequestParam("name") String name,
@RequestParam("pw")String pw,
Model model) {
MemberDto mt = new MemberDto();
mt.setMno(Integer.parseInt(mno));
mt.setName(name);
mt.setPw(pw);
model.addAttribute("mt",mt);
return "update";
}
@RequestMapping("/updatePut")
public String updatePut(MemberDto member) {
rac.update(member);
return "redirect:list";
}
@RequestMapping("/delete")
public String delete(@RequestParam("mno") String mno) {
rac.delete(Integer.parseInt(mno));
return "redirect:list";
}
}
package com.study.springboot.restApi.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.study.springboot.dao.IMemberDao;
import com.study.springboot.dto.MemberDto;
@RestController
@RequestMapping("/api")
public class RestApiController {
@Autowired
IMemberDao imd;
@GetMapping("/members")
public List<MemberDto> list() {
List<MemberDto> ar = imd.list();
StringBuilder sb = new StringBuilder();
for(int i =0; i<ar.size(); i++) {
sb.append(ar.get(i));
}
return ar;
}
@GetMapping("/member/{num}")
public MemberDto oneList(@PathVariable int num) {
MemberDto md = imd.getMember(num);
return md;
}
@PostMapping("/member")
public String insert(@RequestBody MemberDto member) {
int result =imd.insert(member);
String output = "";
if(result ==1) {
output="등록완료";
}else {
output="등록실패";
}
return output;
}
@PutMapping("/member")
public String update(@RequestBody MemberDto member) {
int result = imd.update(member);
String output = "";
if(result ==1) {
output="수정완료";
}else {
output="수정실패";
}
return output;
}
@DeleteMapping("/member/{num}")
public String delete(@PathVariable int num) {
int result = imd.delete(num);
String output = "";
if(result ==1) {
output="삭제완료";
}else {
output="삭제실패";
}
return output;
}
}
<?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="com.study.springboot.dao.IMemberDao">
<select id="list" resultType="com.study.springboot.dto.MemberDto">
SELECT * FROM tbl_member
</select>
<select id="getMember" resultType="com.study.springboot.dto.MemberDto">
SELECT * FROM tbl_member WHERE mno= #{param1}
</select>
<insert id="insert">
INSERT INTO tbl_member (name, id, pw)
VALUES (#{member.name}, #{member.id}, #{member.pw})
</insert>
<update id="update">
UPDATE tbl_member
SET name=#{member.name},
pw=#{member.pw}
WHERE mno=#{member.mno}
</update>
<delete id="delete">
DELETE FROM tbl_member WHERE mno=#{param1}
</delete>
</mapper>
package com.study.springboot.dao;
import java.util.List;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import com.study.springboot.dto.MemberDto;
@Mapper
public interface IMemberDao {
public List<MemberDto> list();
public MemberDto getMember(int mno);
public int insert(@Param("member") MemberDto member);
public int update(@Param("member") MemberDto member);
public int delete(int mno);
}
package com.study.springboot.dto;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MemberDto {
private int mno;
private String name;
private String id;
private String pw;
}
'Spring > 연습' 카테고리의 다른 글
rest api +ajax쓰고 json으로 쓰고 @RestController + @Get @POST@Put@Delete// $.ajax({}) post할때 (0) | 2023.08.01 |
---|---|
mybatis로 간단한 게시글 만들기 연습 (0) | 2023.07.24 |