[IntelliJ] SQL Dialect와 Data Source 설정 방법
💡 IntelliJ IDEA 2019.3
IntelliJ에서 MyBatis같은 SQL mapper 기반의 framework를 사용할때 SQL mapper xml 파일에서 'No data source are configured to run this SQL and provide advanced code assistance.' 이나 'SQL dialect is not configured.' 라는 warning이 검출될 수 있다.
Warning(경고) 이므로 무시해도 개발하고 실행하는데 문제는 없다.
하지만 IntelliJ에 SQL dialect와 data source를 설정해주면 해당 database에 대한 코드 검증, SQL 문법 검사와 자동 완성 등의 기능이 지원된다.
별도 설정 없이 경고만 끄는 방법부터 SQL dialect, data source을 구성하는 방법까지 차례로 알아보자.
1. Warning 검출 끄기
Warning이 나서 노랗게 표시된 라인에서 Alt + Enter 키를 눌러 컨텍스트 메뉴를 띄우고 Uninject language or reference를 클릭한다.
그러면 즉시 노랗게 표시되던 warning이 사라지고 더이상 검출되지 않는다.
이 방법보다는 아래 방법을 사용하자.
2. SQL Dialect와 Data Source 설정
1) SQL Dialect
SQL Dialect는 Settings - Languages & Frameworks - SQL Dialects에서 설정할 수 있다.
Global(전역), Project, 파일 단위로 SQL dialect를 설정 할 수 있다.
만일 전체적으로 하나의 DBMS를 사용하면 Global SQL Dialect를 해당 DBMS로 지정하면 된다.
각 프로젝트가 서로 다른 DBMS를 사용하면 프로젝트마다 Project SQL Dialect를 각각 지정한다.
나는 로컬 MySQL 서버만을 사용하므로 Global SQL Dialect를 MySQL로 지정하였다.
DBMS 지정 후 [OK]를 클릭하여 적용한다.
SQL dialect를 설정하고 나면 이렇게 error가 검출될 수 있는데, data source를 아직 설정하지 않아서 그런 것이므로 지금은 일단 무시한다.
SQL 자동 완성이 정상적으로 동작하는지 확인해보기 위해 NO를 입력해보면, 위와 같이 NOW()가 자동완성된다.
다음으로 data source를 설정해서 error와 warning을 모두 없애고 IntelliJ에서 지원하는 기능을 모두 사용해보자.
2) Data Source 설정
액션 검색(Ctrl + Shift + A)을 켜고 data source를 입력한 뒤 Configure data source를 클릭한다.
Data Sources and Drivers 창이 열린다.
이 창에서 data source와 driver를 설정할 수 있는데 data source를 설정하기 전에 먼저 driver부터 설정해주겠다.
(순서는 상관 없으나 어짜피 둘 다 설정해야한다.)
좌측에서 사용하는 DBMS를 선택하고 Driver files에 드라이버를 지정한다.
Download를 클릭해서 즉시 받을수도 있고 [+]를 클릭하여 사용하는 jar파일을 지정할수도 있다.
나는 다운받지 않고 프로젝트에서 사용하는 jar 파일을 지정해주었다.
이렇게 사용하는 DBMS의 드라이버를 설정하고 나면 data source를 추가한다.
상단의 [+]를 클릭하고 DBMS를 선택한다.
Host, Port, User, Password, Database(Schema)를 입력하고 Text Connection을 클릭하여 정상적으로 연결되는지 확인해본다.
테스트가 완료되면 [OK]를 클릭해서 적용한다.
이제 이전에 발생하던 warning과 error가 모두 사라졌다.
이제 설정한 data source에 존재하지 않는 컬럼을 입력하면 이렇게 error가 발생한다.
IntelliJ에 data source를 설정함으로써 얻을 수 있는 또 다른 편리한 점은,
IntelliJ 상에서 database console로 SQL 명령문을 실행해볼 수 있다는 것이다.
콘솔창은 database view(View - Tool Windows - Database)에서 해당 data source 우클릭 - Oepn Colsole 메뉴로 열 수 있다.