RowMapper<SubjectDto> mapper = new RowMapper<SubjectDto>() {
@Override
public SubjectDto mapRow(ResultSet rs, int idx) throws SQLException {
SubjectDto dto = new SubjectDto();
dto.setNo(rs.getInt("NO"));
dto.setName(rs.getString("NAME"));
dto.setPeriod(rs.getInt("PERIOD"));
dto.setPrice(rs.getInt("PRICE"));
dto.setType(rs.getString("TYPE"));
return dto;
}
};
+ 해당 method(CRUD)가 수행될 때만 DB와 연결하기 위해 JdbcTemplate은 local variable로 사용한다.
public void insert(TABLEDto tableDto);
public List<TABLEDto> selectList();
public List<TABLEDto> selectList(String attribute, String target);
public TABLEDto selectOne(int primaryKey);
public boolean update(TABLEDTO tableDto);
public void insert(TABLEDto tableDto);
TABLE에 따라 사용 빈도가 적을 수 있으므로 Static이 아닌 instance를 생성하여 사용한다.
+ 홈페이지 설계
1. DB 설계
2. 기능 설계
3. BACK(DAO, DTO, 기능)
JAVA bins pattern
student dao, dto
(필)아이디 MEMBER_ID / 5~20자 영문 소문자, 숫자, 대시(-), 언더바(_), 대표항목 (중복 불가)
(필)비밀번호 MEMBER_PASSWORD / 8~16자 영문 대 소문자, 숫자, 특수문자 사용
(필)이름(nickname) MEMBER_NICK / 2~10자 한글 또는 숫자 사용 (중복 불가)
(필)전화번호 MEMBER_TEL / 휴대전화 번호만 가능(010XXXXXXXX), 대시 제외
(선)이메일 MEMBER_EMAIL / 넉넉하게 다 합쳐서 100byte(선택 항목)
(필)주소(우편번호, 기본주소, 상세주소)
(필)생년월일 MEMBER_BIRTH / 문자열(YYYY-MM-DD) (시간을 사용 안할 경우 문자열 사용)
성별
비밀번호 확인 질문/답변
추천인
가입경로
취미
(필)회원등급 MEMBER_LEVEL / (준회원/일반회원/우수회원/관리자) 중 하나(가입 시 준회원)
(필)포인트 MEMBER_POINT / 0이상 숫자만 가능
(필)가입일 MEMBER_JOIN / 가입 당시 시각으로 설정
(필)최종로그인 일자 MEMBER_LOGIN / 로그인 당시의 현재 시각(가입 시 미설정)
휴먼계정 여부
블랙여부
JDBC05에 제출