상세 컨텐츠

본문 제목

[Spring 5.0 Chap08 DB 연동] (3) JdbcTemplate MemberDao테스트

카테고리 없음

by kwanghyup 2019. 11. 15. 14:53

본문

package : main

MainForMemberDao.java

package main;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

import config.AppCtx;
import spring.Member;
import spring.MemberDao;

public class MainForMemberDao {
	
	private static MemberDao memberDao; 
	
	public static void main(String[] args) {
		
		
		AnnotationConfigApplicationContext ctx = 	// 스프링 컨테이너 생성					
				new AnnotationConfigApplicationContext(AppCtx.class); 	
		memberDao = ctx.getBean(MemberDao.class); // 컨테이너에서 MemberDao빈을 구한 뒤 정적필드인 memberDao에 할당 
		selectAll(); 
		updateMember();
		inserMember(); 
		ctx.close();
	}
	
	
	private static void selectAll() {
		System.out.println("---slectAll");
		int total = memberDao.count(); // 전체행 개수 구함 
		System.out.println("전체데이터 : " + total); 
		List<Member> members = memberDao.selectAll(); // 전체 Member데이터 조회  
		for(Member m : members) {
			System.out.println(m.getId()+ ":" + m.getEmail() + ":" + m.getName()); // id,email,name 콘솔 출력 
		}
	}

	private static void updateMember() {
		System.out.println("---updateMember");
		Member member = memberDao.selectByEmail("lee@naver.com"); // Email칼럼 값이 leekwanghyup인 Member 객체를 구함 
		String oldPw = member.getPassword(); 					 // 기존 암호 	
		String newPw = Double.toHexString(Math.random()); 		 // 임의의 암호 설정 
		member.changePassword(oldPw, newPw); 					 //새로운 암호 설정 
		memberDao.update(member);								 // DB에 새로운 암호 저장 
		System.out.println("암호 변경 : " + oldPw + "->" + newPw);
	}
	
	private static DateTimeFormatter formatter =  // 현재시간을 나타내는 형태 지정  
			DateTimeFormatter.ofPattern("MMddHHmmss"); 
	
	private static void inserMember() {
		System.out.println("---insertMember"); 
		String prefix = formatter.format(LocalDateTime.now()); // 현재 시간  
		Member member = new Member(prefix + "@test.com", prefix, prefix, LocalDateTime.now()); //신규 Member객체 생성
		memberDao.insert(member); // DB 저장 
		System.out.println("ID : " +  member.getId() + " 데이터 추가");
	}
	
}

댓글 영역