전체적으로 수업내용에서 다룬 내용들을 하나로 합친 것이었다. 우테코 프리코스에 진행하면서 배웠던 틀을 이용해서 했고, 예외처리 같은 것도 하려고 시도했다.
패키지 구조는 이렇게 만들었다.
조금 고민했던 부분은, 자바 코드안에 테이블이 존재하지 않는다면 테이블을 만들게 코드를 짰다.
이 부분에서, IF NOT EXISTS 라는 문법을 썼다.
private static String CREATE_TABLE_SQL = "CREATE TABLE IF NOT EXISTS businesscard_db(" + "name VARCHAR(10), " + "phone VARCHAR(15), " + "companyName VARCHAR(20), " + "createDate DATETIME DEFAULT CURRENT_TIMESTAMP);";
DEFAULT CURRENT_TIMESTAMP는 저절로 만들어질 때 당시의 시각을 넣어주는 기능이다.
JDBC에서 LIKE를 쓰는 것은 그냥 sql문에서 LIKE를 쓰는 것과는 조금 달랐다.
String sql = "SELECT * FROM businesscard_db WHERE name LIKE ?";
PreparedStatement ps = conn.prepareStatement(sql)) { ps.setString(1, "%"+name+"%"); ... }
이외에 강의와 조금 달랐던 점은 CRATE TABLE 할때
Statement stmt = conn.createStatement())
를 사용한 것과
ResultSet rs = ps.executeQuery(); int insertCount = ps.executeUpdate();
등 쿼리문에 따라 함수가 달라진다는 점이 있다.