* static : 객체 선언하지 않고 바로 사용할 수 있는.
* Class.forName(driverName); --> 이 코드는 add(catch)로 코드를 추가해야 한다.
[ 이클립스 클래스 분리(분할/파일 별도 관리) ]
* 별도의 클래스 파일을 생성할 클래스 위에 커서를 올려놓고 해야 한다.
alt + shift + t -> move type to new file click! OR 우클릭 -> refactor -> move type to new file click !
[ MVC 게시판, SQL(DB)연동 구현 참고 사항 ]
* DB, table<T> class, 관련 변수 모두 날려버리심.
* 이클립스 //TODO list : // TOTO : {임의 입력사항 : 구현해야 함} -> window -> tasks : 남아있는 일 리스트를 한 눈에 볼 수 있음.
*
★SQL에 UNIQUE 쿼리를 작성하면 자동으로 loginId 중복을 체크해준다.
--> 그러나 이 쿼리를 믿고 자바 로직을 만들지 않으면 프로그램이 그대로 뻗어서 사용 중이던 고객이 당황할 수도 있다. 자바 코드로 오류를 부드럽게, 조심스럽게 표현하도록 코드를 작성해주어야 한다.
board 의 code도 중복되면 안되므로 UNIQUE를 작성해준다.
( UNIQUE를 맨 뒤에, 중간에 작성해도 실행된다.)
*
article table에서 boardId에 INDEX를 작성해주어야 한다.
이유 : "나중에(board별로) boardId가 5인거 다 모여봐!" 했을 때, 초고속 검색이 가능하다. 색인 작업?
* 댓글 기능. INDEX articleId 는 별로 중요하지 않다. INDEX의 이름이다. (`articeId`) --> 이게 중요하다.
* 데이터베이스, 테이블들 위에 커서를 올려놓고 F6을 눌러도 구조를 확인할 수 있다.
( = DESC article 과 같은 행위 )
* StringBuilder sb = new StringBuilder(); --> String rs = a a+= ""; 처럼 계속 붙여나가는 것보다 훨씬 빠르다.
성능의 차이가 있다. 용량을 비교적 훨씬 아주 적게 차지 한다.
* SQL 작성한 것도 이클립스 project에 file 추가해서 db.sql 파일에 SQL 코드를 복붙하여 github에 함께 전송할 수 있다.
* memberDao 클래스 -> public int save(Member member) {
return dbConnection.insert(sb.toString());
}
★toString()을 해주는 이유 : StringBuilder 객체를 String 객체로 변환해서 반환한다.
* 프로그램을 처음 실행하고 또 실행하면 자동으로 admin 관리자가 생성된다.
SQL에 loginId를 UNIQUE로 해뒀기 때문에 오류가 난다. 이를 해결하기 위한 방법은?
//관리자 회원 생성 (class App)
Factory.getMemberService().makeAdminUserIfNotExists(); mothed 생성
해당
★ 변수(코드) 타입이 궁금하다면?
System.out.println(memberRow.get("id").getClass().getName());
* alt + shift + r -> 해당 메서드의 특정 변수명을 한꺼번에 변경할 수 있다.
'Java' 카테고리의 다른 글
[ sts 와 DB 연결 시작 ] (0) | 2020.06.28 |
---|---|
workspace 경로 확인하는 법 (0) | 2020.06.28 |
SQL, java 게시판 연결 기초 코드 분석, 이해, 정리 (0) | 2020.06.17 |
SQL, JDBC (0) | 2020.06.16 |
JDBC (0) | 2020.06.15 |