
Enum 타입 : Array와 유사하나 인덱스(코드)를 사용자가 직접 지정할 수 있다.
클래스도 enum 타입으로 생성할 수 있다.
DB 연결



package org.fullstack4.chap1.dao;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import org.mariadb.jdbc.Driver;
import java.sql.Connection;
import java.sql.DriverManager;
public class ConnectTests {
@Test
public void testConnection() throws Exception {
Class.forName("org.mariadb.jdbc.Driver");
String url = "jdbc:mariadb://localhost:3306/webdb";
String id = "user";
String pwd = "1234";
Connection conn = DriverManager.getConnection(url, id, pwd);
Assertions.assertNotNull(conn);
conn.close();
}
// 테스트 메서드는 무조건 public void
}



Lombok 라이브러리
: @어노테이션을 이용해서
1) getter()/setter() : @Getter / @Setter / @Data
2) toString() : @ToString
3) equals()/hashCode() : @EqualsAndHashCode
4) 생성자 자동생성 : @AllArgsConstructor / @NoArgsConstructor
5) 빌더생성 : @Builder
6) 리소스 해제 : @clean
을 간단히 이용할 수 있습니다.

Lombok 다운로드
사용예시 : VO에서 사용해보기
package org.fullstack4.chap1.domain;
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import java.time.LocalDate;
import java.time.LocalDateTime;
@Getter
@Setter
@ToString
@Builder
public class BbsVO {
private int idx;
private String user_id;
private String title;
private String content;
private String display_date;
private LocalDate reg_date;
private LocalDate modify_date;
private int readCnt;
}
사용예시 : 위에 VO에 넣은 @Builder 이용하기
public void testModify() throws Exception {
BbsVO vo = BbsVO.builder()
.idx(1)
.user_id("gee")
.title("게시글 타이틀 수정 테스트")
.content("게시글 내용 수정 테스트")
.display_date(LocalDate.now().toString())
.build();
System.out.println(dao.modify(vo));
}
사용예시 : @Cleanup 이용해보기
public int delete(int idx) throws Exception {
int result = 0;
String sql = "DELETE FROM tbl_bbs" +
" WHERE idx = ?";
@Cleanup Connection conn = ConnectionUtil.INSTANCE.getConnection();
@Cleanup PreparedStatement psmt = conn.prepareStatement(sql);
psmt.setInt(1, idx);
result = psmt.executeUpdate();
return result;
}
HikariCP
: Connection Pool 의 종류
HikariCP 다운로드
@Test
public void testHikariCP() throws Exception {
HikariConfig config = new HikariConfig();
// DB 연결하는 부분 JDBC 커넥트 연결할 때와 유사
config.setDriverClassName("org.mariadb.jdbc.Driver"); // Class.forName 과 동일한 설정 부분
config.setJdbcUrl("jdbc:mariadb://localhost:3306/webdb");
config.setUsername("user");
config.setPassword("1234");
// 히카리 캐시 용량 설정 등 : 다른데서는 안하고 쓰거나 디비에이가 해줌
config.addDataSourceProperty("cachePrepStmts", true);
config.addDataSourceProperty("prepStmtCacheSize", 250);
config.addDataSourceProperty("prepStmtCacheSqlLimit", 2048);
// 열심히 설정해준거 Connection 연결
HikariDataSource ds = new HikariDataSource(config);
Connection conn = ds.getConnection();
System.out.println("Connection : " + conn);
conn.close();
}
안녕하세요, 이번에 같은 교육과정 6기에 합격했는데 정보가 없어서 이렇게 댓글 남겨봅니다.. 혹시 해당 과정이 전반적으로 어떠신가요?!!