Post

Spring에서 DB값 조회하기

Spring에서 DB값 조회하기

Spring - CRUD - SELECT

DB의 값을 조회하기

  • Mapper[Interface]

쿼리문을 이용해 DB에 저장된 값을 리스트 형태로 반환

1
2
@Select("SELECT * FROM member")
	public List<MemberDTO> getMemberList();
  • Service

사용할 메소드들을 인터페이스에서 작성

1
public List<MemberDTO> getMemberList();
  • Service구현체[Class]

Service인터페이스 메소드들을 구현한다.

1
2
3
4
5
6
7
8
@Autowired
	MemberMapper mapper;
	
	@Override
	public List<MemberDTO> getMemberList() {
		List<MemberDTO> list = mapper.getMemberList();
		return list;
	}
  • Controller[Class]

요청에 응답하기위한 클래스. 서블릿의 역할을 한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Autowired
	MemberService service;
	
	@RequestMapping("/memberList")
	public void memberList(Model model) {
		log.info("momber List");
		//db에서 자료 가져오기
		//서비스에게 자료를 달라고 요청
		//서비스는 맵퍼한테 요청
		List<MemberDTO> mlist = service.getMemberList();
		
		//view에 데이터 전달
		model.addAttribute("memberList", mlist);
	}
  • DTO

DTO클래스

1
2
3
4
5
6
7
8
@Component
@Data
public class MemberDTO {
	private String id;
	private String pw;
	private String name;
	private String tel;
}
  • Test 클래스

DB를 통해 반환된 리스트를 출력한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Autowired
	MemberMapper mapper;
	
	@Test
	public void testGetList() {
		List<MemberDTO> list = mapper.getMemberList();
		for(int i = 0; i < list.size(); i++) {
			log.info("-----Member List " + list.get(i) + "-----");
			log.info("name     : " + list.get(i).getName());
			log.info("ID       : " + list.get(i).getId());
			log.info("Password : " + list.get(i).getPw());
			log.info("tel      : " + list.get(i).getTel());
		}
	}

Spring - CRUD - INSERT

DB의 값을 조회하기

  • Mapper

쿼리문을 이용해 DB에 값 저장

1
2
@Insert("INSERT into member VALUES ( #{id}, #{pw}, #{name}, #{tel})")
	public void insertMember(MemberDTO dto);
  • Service

사용할 메소드들을 인터페이스에서 작성

1
public List<MemberDTO> getMemberList();
  • Service구현체

Service인터페이스 메소드들을 구현한다.

1
2
3
4
@Override
	public void insertMember(MemberDTO dto) {		
		mapper.insertMember(dto);
	}
  • Controller

요청에 응답하기위한 클래스. 서블릿의 역할을 한다.

1
2
3
4
@RequestMapping("/memberInsert")
	public void insertMember(MemberDTO dto) {
		service.insertMember(dto);
	}
  • DTO

DTO클래스

1
2
3
4
5
6
7
8
@Component
@Data
public class MemberDTO {
	private String id;
	private String pw;
	private String name;
	private String tel;
}
  • Test 클래스

DB에 값을 저장한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@Autowired
	MemberMapper mapper;
	@Autowired
	MemberService service;
	
	@Test
	public void testInsert() {
		MemberDTO dto = new MemberDTO();
		dto.setId("testId1");
		dto.setPw("112233");
		dto.setName("testname");
		dto.setTel("4321-4321");
		
		service.insertMember(dto);
		log.info(dto);
	}
This post is licensed under CC BY 4.0 by the author.