MBMyBatis 변환기
로딩 중...
MyBatis는 Java 진영에서 가장 널리 사용되는 SQL 매퍼 프레임워크입니다. MyBatis 쿼리에는 #{param}이나 ${param} 같은 파라미터 바인딩과 <if>, <where>, <choose> 같은 동적 태그가 포함되어 있어, 디버깅 시 실제 SQL로 변환하기 어렵습니다. 이 도구는 동적 태그를 파라미터 값에 따라 평가하여 실행 가능한 SQL로 변환하거나, 반대로 일반 SQL을 MyBatis XML mapper 템플릿으로 생성해주는 양방향 변환기입니다.
사용 방법
- 1탭 선택
'MyBatis → SQL' 탭에서는 MyBatis/iBatis 쿼리의 동적 태그를 처리하고 파라미터를 실제 값으로 치환합니다. 'SQL → MyBatis XML' 탭에서는 일반 SQL을 MyBatis XML mapper로 변환합니다.
- 2쿼리 입력
변환할 MyBatis/iBatis 쿼리 또는 일반 SQL을 입력 영역에 붙여넣습니다. #{param} 형식은 MyBatis 3, #param# 형식은 iBatis 2로 자동 감지됩니다.
- 3파라미터 설정 (MyBatis → SQL)
감지된 파라미터의 타입(문자열/숫자)과 값을 설정합니다. 값을 입력하면 동적 태그 조건이 자동으로 평가되고, 값이 없는 파라미터의 조건 블록은 자동으로 제거됩니다.
- 4결과 확인 및 복사
변환된 SQL 또는 MyBatis XML을 확인하고 복사 버튼으로 클립보드에 복사합니다.
활용 팁
- 💡MyBatis 3 동적 태그: <if test="x != null">, <where>, <set>, <choose>/<when>/<otherwise>, <trim>, <foreach>를 지원합니다.
- 💡iBatis 2 동적 태그: <isNotEmpty>, <isEmpty>, <isNotNull>, <isNull>, <isEqual>, <isGreaterThan> 등과 <dynamic prepend="WHERE">를 지원합니다.
- 💡파라미터 값을 입력하면 해당 파라미터를 사용하는 조건 블록만 포함되고, 값이 없는 블록은 자동 제거됩니다. <![CDATA[...]]>도 자동으로 제거됩니다.
- 💡#{param}은 PreparedStatement 바인딩으로 값이 따옴표로 감싸지고, ${param}은 문자열 치환으로 그대로 삽입됩니다.
- 💡모든 처리는 브라우저에서 이루어지므로 민감한 쿼리도 안전하게 변환할 수 있습니다.