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() + " 데이터 추가");
}
}
댓글 영역