Editing

Ctrl + Space : Basic code completion (the name of any class,method or variable)
Ctrl + Shift + Space : Smart code completion (filters the list of methodsand variables by expected type)
Ctrl + Shift + Enter:  Complete statement
Ctrl + P  : 함수호출시 인수 정보 확인 (within method call arguments)
Ctrl + Q  : 코드에 대한 문서창 팝업
Shift + F1 : 코드에 대한 문서 인터넷 브라우저로 팝업
Ctrl + mouse  : 코드를 링크처럼 타고 들어감
Ctrl + F1 : Show descriptions of error or warning at caret
Alt + Insert  : 코드 생성 (Getters, Setters, Constructors,hashCode/equals, toString)
Ctrl + O  : 메서드 오버라이드 구현
Ctrl + I    : 인터페이스 메서드 구현
Ctrl + Alt + T  : 다음으로 코드 감싸기… (if..else, try..catch, for,synchronized, etc.)
Ctrl + / : 줄 단위 주석 토글
Ctrl + Shift + /  : 블럭 단위 주석 토글
Ctrl + W : 가장 안쪽의 괄호부터 선택(점점 확장 된다.)
Ctrl + Shift + W : Decrease current selection to previous state
Alt + Q : Context info
Alt + Enter : Show intention actions and quick-fixes
Ctrl + Alt + L  : 파일 단위 재정렬 (이클립스의 ctrl + shift + f)
Ctrl + Alt + O : import 문 최적화
Ctrl + Alt + I  : 줄단위 재정렬
Tab / Shift + Tab  : 들여쓰기/내어쓰기
Ctrl + X or Shift + Delete : 잘라내기 (블럭 선택이 안되어 있으면 라인을 잘라냄)
Ctrl + C or Ctrl + Insert : 복사하기(블럭 선택이 안되어 있으면 라인을 복사함)
Ctrl + V or Shift + Insert : 붙여넣기
Ctrl + Shift + V : 복사하기 (목록에서 선택하여)
Ctrl + D : 선택된 블럭을 복제
Ctrl + Y : 캐럿을 있는 곳의 라인 삭제
Ctrl + Shift + J : 스마트하게 코드를 한 줄로 합친다.
Ctrl + Enter : 스마트하게 코드를 여러줄로 나눈다.
Shift + Enter : 커서가 어디에 있건 다음 라인을 생성하고 첫줄로 이동
Ctrl + Shift + U : 커서가 있는 곳이나 블럭이 있는 곳을 대문자 및 소문자로 치화
Ctrl + Shift + ] / [  : 가장 가까운 괄호 시작/종료로 이동
Ctrl + Delete : 단어 삭제 (커서 시작부터)
Ctrl + Backspace : Delete to word start
Ctrl + NumPad+/- : Expand/collapse code block
Ctrl + Shift + NumPad+ : Expand all
Ctrl + Shift + NumPad- : Collapse all
Ctrl + F4 : Close active editor tab

Double Shift Search everywhere

Ctrl + F : Find
F3 : Find next
Shift + F3 : Find previous
Ctrl + R : Replace
Ctrl + Shift + F : Find in path
Ctrl + Shift + R : Replace in path
Ctrl + Shift + S : Search structurally (Ultimate Edition only)
Ctrl + Shift + M : Replace structurally (Ultimate Edition only)

Usage Search

Alt + F7 / Ctrl + F7 : Find usages , Find usages in file
Ctrl + Shift + F7 : Highlight usages in file
Ctrl + Alt + F7 : Show usages

Compile and Run

Ctrl + F9 : Make project (compile modifed and dependent) [수동 컴파일]
Ctrl + Shift + F9 : Compile selected file, package or module
Alt + Shift + F10 : Select configuration and run
Alt + Shift + F9 : Select configuration and debug
Shift + F10 : Run
Shift + F9 : Debug
Ctrl + Shift + F10 : Run context configuration from editor

Debugging

F8 : Step over
F7 : Step into
Shift + F7 : Smart step into
Shift + F8 : Step out
Alt + F9 : Run to cursor
Alt + F8 : Evaluate expression
F9 : Resume program
Ctrl + F8 : Toggle breakpoint
Ctrl + Shift + F8 : View breakpoints

Navigation

Ctrl + N : Go to class
Ctrl + Shift + N : Go to file
Ctrl + Alt + Shift + N : Go to symbol
Alt + Right/Left : Go to next/previous editor tab
F12 : Go back to previous tool window
Esc : Go to editor (from tool window)
Shift + Esc : Hide active or last active window
Ctrl + Shift + F4 : Close active run/messages/find/... tab
Ctrl + G : Go to line
Ctrl + E : Recent files popup
Ctrl + Alt + Left/Right : Navigate back/forward
Ctrl + Shift + Backspace : Navigate to last edit location
Alt + F1 : Select current file or symbol in any view
Ctrl + B or Ctrl + Click : Go to declaration
Ctrl + Alt + B : Go to implementation(s)
Ctrl + Shift + I : Open quick definition lookup
Ctrl + Shift + B : Go to type declaration
Ctrl + U : Go to super-method/super-class
Alt + Up/Down : Go to previous/next method
Ctrl + ] / [ : Move to code block end/start
Ctrl + F12 File : structure popup
Ctrl + H Type : hierarchy
Ctrl + Shift + H : Method hierarchy
Ctrl + Alt + H : Call hierarchy
F2 / Shift + F2 : Next/previous highlighted error
F4 / Ctrl + Enter : Edit source / View source
Alt + Home : Show navigation bar
F11 : Toggle bookmark
Ctrl + F11 : Toggle bookmark with mnemonic
Ctrl + #[0-9] : Go to numbered bookmark
Shift + F11 : Show bookmarks

Refactoring

F5 : Copy
F6 : Move
Alt + Delete : Safe Delete
Shift + F6 : Rename
Ctrl + F6 : Change Signature
Ctrl + Alt + N : Inline
Ctrl + Alt + M : Extract Method
Ctrl + Alt + V : Extract Variable
Ctrl + Alt + F : Extract Field
Ctrl + Alt + C:  Extract Constant
Ctrl + Alt + P : Extract Parameter

VCS/Local History

Ctrl + K : Commit project to VCS
Ctrl + T : Update project from VCS
Alt + Shift + C : View recent changes
Alt + BackQuote (`) : ‘VCS’ quick popup

Live Templates

Ctrl + Alt + J : Surround with Live Template
Ctrl + J : Insert Live Template
iter : Iteration according to Java SDK 1.5 style
inst : Check object type with instanceof and downcast it
itco : Iterate elements of java.util.Collection
itit : Iterate elements of java.util.Iterator
itli : Iterate elements of java.util.List
psf : public static final
thr : throw new

General

Alt + #[0-9] : Open corresponding tool window
Ctrl + S : Save all
Ctrl + Alt + Y : Synchronize
Ctrl + Shift + F12 : Toggle maximizing editor
Alt + Shift + F : Add to Favorites
Alt + Shift + I : Inspect current file with curre?nt profile
Ctrl + BackQuote (`) : Quick switch current scheme
Ctrl + Alt + S : Open Settings dialog
Ctrl + Alt + Shift + S : Open Project Structure dialog
Ctrl + Shift + A : Find Action
Ctrl + Tab : Switch between tabs and tool window

메인메소드 생성 및 실행

- 디렉토리, 패키지, 클래스 등 생성 목록 보기
맥 : Command + n
윈도우 : Alt + Insert

- 코드 템플릿
메인 메소드 : psm
System.out.println() : sout
if Null 구문 : ifn

실행환경 실행
- 현재포커스
맥 : Command + Shift + R
윈도우, 리눅스 : Shift + Ctrl + F10
- 이전실행
맥 : Ctrl + R
윈도우 : Shift + F10

라인 수정하기

-라인 복사
맥 : Command + D
윈도우 : Ctrl + D

-라인 삭제
맥 : Command + 백스페이스
윈도우 : Ctrl + Y

-라인 합치기(라인단위)
맥 : Command + Shift + J
윈도우 : Ctrl + Shift + J

라인 단위로 옮기기
- 구문 이동
맥 : Command + Shift + 위,아래
윈도우 : Ctrl + Shift + 위,아래
- 라인 이동
맥 : Option + Shift + 위,아래
윈도우 : Alt + Shift + 위,아래

- Element 단위로 옮기기
맥 : Option + Shift + Command+ 왼쪽,오른쪽
윈도우 : Alt + Ctrl + Shift + 왼쪽,오른쪽

코드 즉시보기

- 인자값 즉시 보기
맥 : Command + P
윈도우 : Ctrl + P

- 코드 구현부 즉시 보기
맥 : Option + Space
윈도우 : Shift + Ctrl + I

- Doc 즉시 보기
맥 : F1
윈도우 : Ctrl + Q

포커스 에디터

- 단어별 이동
맥 : Alt + <, >
윈도우, 리눅스 : Ctrl + <, >

- 단어별 선택
맥 : Shift + Alt + <, >
윈도우, 리눅스 : Shift + Ctrl + <, >

 

- 라인 첫/끝 이동
맥 : Fn + <, >
윈도우 : Home, End

 

- 라인 전체 선택
맥 : Shift + Command + <, >
윈도우, 리눅스 : Shift + Home, End

 

- Page Up/Down
맥 : Fn + 위/아래
윈도우 : Page Up / Down

포커스 특수키

- 포커스 범위 한 단계씩 늘리기
맥 : Alt + 위/아래 화살표
윈도우, 리눅스 : Ctrl + W(위) / Shift + Ctrl + W(아래) 

 

- 포커스 뒤로/앞으로 가기
맥 : Command + [ , ]
윈도우, 리눅스 : Ctrl + Alt + 좌,우

 

- 멀티 포커스
맥 : Alt + Alt + 아래
윈도우, 리눅스 : Ctrl + Ctrl + 아래

 

- 오류 라인 자동 포커스
맥 : F2
윈도우, 리눅스 : F2

검색 텍스트

- 현재 파일에서 검색
맥 : Command + F
윈도우 : Ctrl + F

- 현재 파일에서 교체
맥 : Command + R
윈도우 : Ctrl + R

- 전체 검색
맥 : Command + Shift + F
윈도우 : Ctrl + Shift + F

- 정규표현식으로 검색, 교체
맥, 윈도우 : Regex 체크

검색기타

- 파일 검색
맥 : Shift + Command + O
윈도우 : Shift + Ctrl +  N

- 메소드 검색
맥 : Alt + Command + O
윈도우 : Shift + Ctrl + Alt + N

- Action 검색
맥 : Shift + Command + A
윈도우 : Shift + Ctrl + A

- 최근 열었던 파일 목록 보기
맥 : Command + E
윈도우 : Ctrl + E

- 최근 수정했던 파일 목록 보기
맥 : Command + Shift+ E
윈도우 : Ctrl + Shift + E

- 변수/필드의 데이터 변경 지점 찾기
변경되는 포인트 : 변수나 필드에 커서를 놓고 action 에서 "dataflow" 입력 후 "Analyze Dataflow to Here" 선택
영향주는 포인트 : 변수나 필드에 커서를 놓고 action 에서 "dataflow" 입력 후 "Analyze Dataflow from Here" 선택

- 중복된 코드 찾기
action에서 " Locate Duplicate" 입력

자동완성

- 스마트 자동완성
맥 : control + Shift + Space
윈도우 : control + Shift + Space

- 스태틱 메소드 자동완성
맥 : control + Shift * 2
윈도우 : control + Shift * 2

- Getter/Setter/생성자 자동완성
맥 : Command + N
윈도우 : Alt + Insert

- 자동완성
맥 : control + I
윈도우 : Ctrl + I

Live Template

- Live Template 목록 보기

맥 : Command + J

윈도우, 리눅스 : Ctrl + J


- Live Template 메뉴에서 나만의 템플릿 추가 가능

리팩토링 Extract

- 변수 추출하기

맥 : Command + Option + V

윈도우, 리눅스 :  Ctrl + Alt + V

 

- 파라미터 추출하기

맥 : Command + Option + P

윈도우, 리눅스 : Ctrl + Alt + P

 

- 메소드 추출하기

맥 : Command + Option + M

윈도우, 리눅스 : Ctrl + Alt + M

 

- 이너클래스 추출하기

맥 : F6

윈도우, 리눅스 : F6

리팩토링 기타

- 이름 일괄 변경 하기

맥 : Shift + F6

윈도우, 리눅스 : Shift + F6

 

- 메소드 일괄 변경하기

맥 : Shift + Command + F6

윈도우, 리눅스 : Shift + Ctrl + F6

 

- Import 정리하기

맥 : control + Option + O

윈도우, 리눅스 : Ctrl + Alt + O

 

- Import 자동 정리하기

Action에서 optimize import on 검색후 On으로 변경

 

- 코드 자동 정렬하기

맥 : Command + Option + L

윈도우, 리눅스 : Ctrl + Alt + L

디버깅

- Debug 모드로 실행하기(현재 위치의 메소드)

맥 : control + Shift + D

윈도우, 리눅스 : 없음

 

- Debug 모드로 실행하기(이전에 실행한 메소드)

맥 : control + D

윈도우, 리눅스 : Shift + F9

 

- Resume(다음 브레이크 포인트로 이동하기)

맥 : Command + Option + R

윈도우, 리눅스 : F9

 

- Step Over(현재 브레이크에서 다음 한줄로 이동하기)

맥 : F8

윈도우, 리눅스 : F8

 

- Step Into(현재 브레이크의 다음 메소드로 이동)

맥 : F7

윈도우, 리눅스 : F7

 

- Step Out(현재 메소드의 밖으로 이동)

맥 : Shift + F8

윈도우, 리눅스 : Shift + F8

 

- Evaluate Expression(브레이크된 상태에서 코드 사용하기)

맥 : Option+ F8

윈도우, 리눅스 : Alt + F8

 

- Watch(브레이크 이후의 코드 변경 확인하기)

맥 : 없음

윈도우, 리눅스 : 없음

Git 기본 기능 사용하기

- Git View On

맥 : Command + 9

윈도우, 리눅스 : Alt + 9

 

- Git Option Popup

맥 : control + V

윈도우, 리눅스 : Alt + '(Tab 위 버튼)

 

- Git History

맥 : control + V --> 4

윈도우, 리눅스 : Alt + '(Tab 위 버튼) --> 4

 

- Branch

맥 : control + V --> 7

윈도우, 리눅스 : Alt + '(Tab 위 버튼) --> 7

 

- Commit

맥 : Command + k

윈도우, 리눅스 : Ctrl + k

 

- Push

맥 : Command + Shift + k

윈도우, 리눅스 : Ctrl + Shift + k

 

- Pull

맥 : Command + Shift + A --> git pull

윈도우, 리눅스 : Ctrl + Shift + A --> git pull

GitHub 연동하기

- GitHub 연동하기

맥 : Command + Shift + A --> Share github

윈도우, 리눅스 : Command + Shift + A --> Share github

 

- GitHub Clone

메인 화면에서 Check out from Version Control 선택 후 Git 선택

클래스

- 클래스 구조 확인

맥 : command+7

윈동, : Alt + 7

 

플러그인

- 플러그인 설치

맥 : Command + Shift + A --> Plugins(Preferences)

윈도우, 리눅스 : Command + Shift + A --> Plugins(Preferences)

 

- Terminal

맥 : Option+ F12

윈도우, 리눅스 : Alt + F12

 

추천 플러그인

- .ignore

https://plugins.jetbrains.com/plugin/7495--ignore

- Presentation Assistant : 단축키 노출(윈도우, 맥)

https://plugins.jetbrains.com/plugin/7345-presentation-assistant

- BashSupport : .sh 확장자를 가진 Bash Script 작성 기능을 제공
https://plugins.jetbrains.com/plugin/4230-bashsupport
- Material Theme UI
https://plugins.jetbrains.com/plugin/8006-material-theme-ui
- Free MyBatis plugin : 마이바티스 플러그인
https://plugins.jetbrains.com/plugin/8321-free-mybatis-plugin
CodeGlance : 코드 미니맵을 에티터창에 표시
https://plugins.jetbrains.com/plugin/7275-codeglance
- Rainbow Brackets : 각종 괄호를 짝에 맞게 무지개색으로 표시
https://plugins.jetbrains.com/plugin/10080-rainbow-brackets
- JetBrain 서버에 Intellij 셋팅을 연동
https://www.jetbrains.com/help/idea/sharing-your-ide-settings.html

 

출처 : https://lalwr.blogspot.com/2018/04/intellij.html

 

부모테이블의 유니크 키나 기본키로 지정된 컬럼이 자식테이블의 기본키 컬럼과 연결된 경우
실선으로 표기되고 식별 관계라고 합니다.

부모테이블의 유니크 키나 기본키로 지정된 컬럼이 자식테이블의 일반 컬럼과 연결된 경우
점선으로 표기되고 비식별 관계라고 합니다.

쉽게 이야기하면 부모 컬럼을 참조하는 자식 컬럼이 식별 (PK) 가능하면 식별 관계라고 하고
식별이 가능하지 않으면 비식별 관계라고 합니다. 즉, 자식 컬럼이 PK 인지 아닌지에 따라
식별 관계, 비식별 관계라고 이야기합니다.

아래와 같이 db에 있는 변수 중 date 형식으로 된 joindate에 날짜를 저장하려고했다.

저장은 아래와 같은 형식으로 20151211과 같이 저장을 시도했다.

insert.jsp의 input type은 text로 설정했고

아래와 같이 날짜 값을 입력한 후

저장을 시도했으나 아래와 같이 400 잘못된 오류 메세지가 발생하였다.

또한 console에서도 정확한 오류 원인이 표시되지않았다.

해당 문제는 VO에 있는 joindate에 String으로 set하려고해서 발생한 문제로 확인된다.

아래 joindatr의 자료형을 Date에서

아래와 같이 String으로 변경해주고

get, set 메소드도 String으로 변경된 자료형에 맞게 다시 get, set을 진행해준다.

그리고 MemberDAO 역시 getDate로 되어 있는 것을

getString으로 변경해준다.

그리고 나서 해당 insert.jsp 페이지에서 다시 날짜를 입력하고 등록 진행을 하면

아래와 같이 날짜 형식으로 정상 저장이 된 것을 확인할 수 있다.

String으로 저장되었어도 db에서는 날짜 형식이기 때문에 아래와 같이 날짜 형식으로 입출력되는 것을 확인할 수 있다.

'

아래 사진을 보면 index.jsp에서 회원목록조회/수정을 클릭시> MemberController로 이동하여 > getMemberList 메소드를 실행하도록 구현하였다.

그러나 실행시 아래와 같은 오류가 발생하며,

Console 창에서는 컨테이너 생성도 없고 반응이 없는 것으로 확인이 된다.

해당 오류의 원인은 jsp 파일에 링크한 파일 경로의 오타로 확인되었다.

아래와 같이 href 링크 경로에서 /를 제외한 후 진행시

아래와 같이 정상 구동되는 것을 확인할 수 있다.

pk2를 두개 즉 복합키를 만드는 경우에 대하여 알아보자

복합키를 만드는 경우는 아래와 같다.

회원 매출정보 명세서를 보면 회원번호와 판매번호가 둘다 pk로 지정되어 있다.

그러나 이것은 pk가 2개인 것이 아니고 하나의 복합키인 것이다.

즉 2개의 pk(복합키)가 하나의 pk이인 것이다.

 

이말인 즉슨 회원번호(pk)와 판매번호(pk)가 묶여서 하나의 복합키가 되는 것이다.

예를 들어 100001회원이 판매번호20160001로 판매가 되었다.

이것은 하나의 복합키로 동일한 100001회원이 201600001로 등록이 될 수 없음을 뜻한다.

 

그러므로 위와 같은 경우를 위하여 복합키를 만드는 것이니 참고하도록하자

'[DB]' 카테고리의 다른 글

[DB 개념] Group by에 관하여  (0) 2019.12.09
[DB개념] 식별, 비식별관계  (0) 2019.12.07
[MySQL 개념] 부속쿼리와 join의 차이  (0) 2019.11.16
[오라클] 오라클 익스포트 기능  (0) 2019.11.04
[오라클] 오라클 자료형  (0) 2019.10.22

+ Recent posts