IntelliJ에서 Mybatis를 사용할 때 xml 파일에서 진짜 보기 싫은 노란색 배경이 생깁니다. 에러도 안 나고 정상 동작하니 사용하는 데는 아무런 문제가 없지만 계속 보이니 거슬리고 짜증 나는 것이 사실입니다.
이 노란색 배경을 지우는 방법을 알아봅니다.
노란색 배경
문제의 노란색 배경은 다음과 같이 표시됩니다.
노란색 배경의 원인
노란색 배경의 원인을 확인해보면 메시지가 다음과 같이 표시됩니다.
메시지를 해석해보면 다음과 같습니다.
No data source are configured to run this SQL and provide advanced code assistance.
-> Data source가 없습니다.
SQL dialect is not configured.
-> SQL dialect가 구성되지 않았습니다.
노란색 배경 지우는 방법
노란색 배경을 지우는 방법은 간단합니다.
에러 메시지를 보면 단축키를 누르라고 되어 있는데요.
Windows의 경우에는 Alt+Shift+Enter이고 Mac의 경우에는 option+Enter 입니다.
단축키를 누르면 아래 이미지와 같이 표시됩니다.
노란색 배경 지우는 방법 1: SQL dialect, Data Source 설정
노란색 배경이 생기는 원인은 앞에서는 복잡하게 설명했지만 결론은, "유효성 검사를 하고 싶은데, 유효성 검사를 할 근거가 없다"입니다. 따라서 intellij에게 사용하는 데이터베이스의 종류와, 접속 정보를 알려주면 해결됩니다.
방법은 다음과 같습니다.
1. SQL dialect를 설정
먼저, 데이터베이스의 종류를 설정합니다.
1) 단축키(Windows: Alt+Shift+Enter, Mac: option+Enter)를 입력합니다.
2) Change dialect to... 메뉴를 클릭합니다.
-> Settings > Languages & Frameworks > SQL Dialects에서도 설정 가능합니다.
3) Global SQL Dialect, Project SQL Dialect를 변경합니다.
한 번도 설정한 적이 없다면 SQL Dialect는 아래 이미지와 같이 <None>으로 되어 있을 것입니다.
만약 모든 프로젝트가 동일한 데이터베이스를 사용한다면 Global SQL Dialect에 설정하면 되고, 현재 프로젝트에만 설정하고 싶다면 Project SQL Dialect를 설정하면 됩니다.
저는 아래와 같이 MariaDB로 설정했습니다.
2. Data source 설정
다음은 접속 정보를 알려줍니다.
1) 단축키(Windows: Alt+Shift+Enter, Mac: option+Enter)를 입력합니다.
2) Configure data source 메뉴를 클릭합니다.
-> 액션 검색(shift 두 번 입력)을 하고 data source를 검색해도 됩니다.
3) + 버튼 클릭 후 사용할 데이터베이스를 선택합니다.
그 이후에 다음과 같이 DB 접속 정보를 입력합니다.
이렇게 노란색 배경 대신 초록색 배경으로 바뀐 것을 볼 수 있습니다.
또한 다음과 같이 테이블에 존재하지 않는 컬럼은 흰색으로, 존재하는 컬럼은 보라색으로 나오는 것도 확인할 수 있습니다.
노란색 배경 지우는 방법 2: 유효성 검사 끄기
다 하기 귀찮거나, 녹색 배경도 싫은 경우에는 유효성 검사 자체를 끄면 됩니다.
1) 단축키(Windows: Alt+Shift+Enter, Mac: option+Enter)를 입력합니다.
2) Uninject language or reference 메뉴를 클릭합니다.
다음과 같이 배경이 없어진 것을 확인할 수 있습니다.
'Database ( DB ) > ibatis, mybatis' 카테고리의 다른 글
Springboot에서 Mybatis 사용하는 방법 (0) | 2022.11.02 |
---|---|
[Spring boot] mybatis alias 사용법 (0) | 2022.03.06 |
[mybatis error] Mapped Statements collection does not contain value for (0) | 2021.11.07 |
[ibatis]JavaBeansDataExchange could not instantiate result class (0) | 2020.01.30 |
mybstis typeAlias 사용하기 (0) | 2019.08.11 |