StringBuilder 클래스를 사용하려고 하다보니 생기는 궁금증 StringBuilder str = new StringBuilder(); 여기서 str에 append()로 문자열을 추가할 수 있는데 str.append("안녕하세요."); str에 아무 문자열을 추가하지 않으면 str은 null일까? 빈 문자열일까? StringBuilder str = new StringBuilder(); if (str == null) { System.out.println("str == null"); } if (str.toString().equals("")) { System.out.println("str == ''"); } 콘솔에 프린트되는 문자는 아래와 같았다. str == ''
* 앞서 만들어 두었던 테이블([MSSQL] 테이블 생성 및 삭제) 기준 테이블 삭제처럼 데이터 삭제 또한 쉽다. 그만큼 조심히 사용할 것! DELETE FROM EVENT WHERE ID = #{value} EVENT 테이블의 데이터를 지울 때 관련된 EVENT_DETAILS 테이블 데이터도 지워줘야 하는데, 이 때, 처음 테이블 생성할 때부터 외래키를 설정해주어 부모 테이블 데이터가 삭제될 때 자식 테이블 데이터도 삭제되도록 할 수 있다. 하지만 요즘은 JPA를 사용하기도 하고 그래서 의존성을 넣지 않는다고 한다. 그러므로 EVENT 테이블의 데이터가 삭제될 때 EVENT_DETAILS 테이블의 데이터도 삭제해주어야 한다.
* 앞서 만들어 두었던 테이블([MSSQL] 테이블 생성 및 삭제) 기준 insert 문은 간단하다. 테이블의 컬럼명과 컬럼 순서에 맞춰서 데이터만 잘 입력해주면 된다. INSERT INTO EVENT ( ID, TITLE, START_AT, END_AT, ACTIVATED, REG_DATE ) VALUES ( #{id}, #{title}, #{startAt}, #{endAt}, #{activated}, GETDATE() ) 여기서 REG_DATE는 삽입한 날짜로, GETDATE()를 입력해주면 현재시간이 들어간다. 그런데 삽입된 날짜를 보면 시간이 현재시간과 다르게 들어간 경우가 있는데 이는 GETDATE() 날짜함수가 SQL 서버의 시간을 기준으로 하기 때문에 서울을 기준으로 하면 서울 현지시간과 9..