엄범

 

  • 뭐 대단한 작업 할게 아니면 그냥 IntelliJ에 내장되어 있는 DB Tool 기능을 활용한다.
    • 스마트 서치에서 Database 입력하면 있음.
    • 단점은 intelliJ 프로젝트 마다 각각 DB연결 설정을 따로 해줘야 한다는 점.
  • 뭔가 좀 더 복잡한 작업을 해야 하거나, 프로젝트마다 DB 설정을 따로 하기 귀찮다면 독립 툴 사용.
    • DBeaver
      • 다양한 DB들을 지원하고, Enterprise 버전이면 NoSQL들도 지원함.
    • SQL developer
      • Oracle을 쓸거라면 무난하고 괜찮음.
    • Toad
      • 검색하다 종종 보이는데 별로인 것 같음. Mac에서도 별로고 유료고...

 

IntelliJ의 DataBase

좋은 기능이 여기서 DB를 조작(INSERT, DELETE, UPDATE 등등)한건 이 콘솔에서만 유효하다는 점이다. (물론 다른 툴에서도 지원이 될거다)

다른 새로운 콘솔을 열어서 조회해보면 DB에 반영이 안되었다는 것을 알 수 있다! JdbcTemplate로 query 날려도 마찬가지.

 

작업을 커밋 안하고 그냥 세션을 종료하면, 지금까지 조작했던 내용은 DB에 반영되지 않고 그냥 사라진다.

지금까지 조작했던 내용을 DB에 반영하고 싶다면, 상단의 체크표시인 Commit을 누른다. (git comimt 아이콘이랑 똑같이 생겨서 처음엔 뭔가 했다...)

 

update를 쓸 때는 주의할 것.

DB 툴과 같이 쓰는 경우 같은 테이블에 대해서 update를 툴에서도 수행하고 자바에서도 수행하게 되면

툴은 보통 Commit을 하기 전  까지 수정사항이 반영이 안되니까, update한 테이블에 대해서 Lock을 가지고 있는 경우가 있다.

그래서 자바에서 뭔가 Blocking이 걸리면서 안되는데?? 싶은 상황이 벌어질 수 있음.