본문 바로가기

Java/Mybatis6

[Mybatis] 마이바티스 foreach를 이용하여 IN절 처리하기 안녕하세요! 오늘은 Mybatis에서 쿼리를 작성하다 보면 IN절을 처리할 때 수월하게 처리할 수 있는 방법에 대해 정리해보려고 합니다. MyBatis는 동적 SQL을 지원하여 조건에 따라 쿼리를 유연하게 처리할 수 있기 때문에, IN 절을 처리하는 데에도 편리한 foreach 태그를 활용할 수 있습니다. IN 절은 여러 개의 값을 비교하거나 조회하는데 사용되는데, MyBatis의 foreach 태그를 활용하면 해당 작업을 간편하게 처리할 수 있습니다. 이제 MyBatis의 foreach 태그를 활용하여 IN 절을 보다 수월하게 다루는 방법을 정리해 보겠습니다. 많은 도움이 되기를 바랍니다! 1. Mybatis mapper.xml 정의 SELECT * FROM Member WHERE MemberId IN.. 2023. 7. 20.
[Mybatis] 마이바티스 컬럼 자동 매핑하기 (auto mapping) 안녕하세요. 오늘은 마이바티스에서 칼럼 자동 매핑 처리하는 방법에 대해서 포스팅하려고 합니다. 마이바티스를 개발하면서 resultType을 이용해서 결과 데이터를 map이나 class로 매핑시켜야 하는데, 간혹 resultMap을 이용해서 결과 데이터를 반환해야 하는 경우가 있습니다. 그런 상황에서 칼럼 수가 많으면 매핑시켜줘야 하는 칼럼도 많아 생각보다 작업시간이 길어지는 경우가 있습니다. 그럴 때 간단하게 자동 매핑 처리를 해서 결과 데이터를 반환할 수 있도록 예제를 통해서 정리해 보도록 하겠습니다. resultType과 resultMap resultType: 칼럼 정보를 작성한 타입에 맞는 클래스에 자동 매핑 resultMap: 칼럼 정보를 xml에 정의한 규칙에 의해 칼럼 매핑 1. resultM.. 2023. 2. 21.
[Mybatis] 마이바티스 동적 쿼리 trim 사용하기 안녕하세요. 오늘은 마이바티스에서 일반 쿼리문을 동적 쿼리문으로 사용할 수 있도록 도와주는 기능인 trim 요소에 대해서 포스팅하려고 합니다. trim 요소는 사용하고자 하는 쿼리에서 접두어와 접미어를 원하는 내용으로 바꿔주는 기능을 합니다. 정적인 쿼리를 사용하는 경우에는 크게 상관이 없지만, 파라미터를 받아서 동적으로 처리하는 경우에 애매한 경우가 종종 있습니다. 그럴 때 trim을 사용한다면 아주 간단하게 해결할 수 있습니다. 어떤 상황에서 trim을 사용하면 되는지 예제를 통해서 알아보도록 하겠습니다. 1. update 문 예제 UPDATE Member SET Age = #{age}, EmpNo = #{empNo}, Name = #{name} WHERE Idx = #{idx} 위의 예제 소스 코드.. 2023. 2. 20.
[Mybatis] 마이바티스 where 태그 사용하기 안녕하세요. 오늘은 마이바티스에서 where 태그를 사용하는 방법에 대해서 포스팅하려고 합니다. where 태그를 사용하는 이유는 마이바티스에서 쿼리를 작성하다 보면 where절에서 동적으로 처리해야 하는 경우가 있습니다. 파라미터 값이 있는 경우에만 조건을 추가하는 경우나 where 1=1 조건을 사용하지 않고 동적으로 처리하는 경우 등이 해당됩니다. 그렇다면 where 태그는 어떻게 사용하는 것인지 예제를 통해서 알아보도록 하겠습니다. :) 1. where 태그를 사용하지 않는 경우 SELECT Idx, Name, EmpNo, Age FROM Member WHERE Age = #{age} AND EmpNo = #{empNo} AND Name = #{name} 위의 예제 소스 코드는 일반적인 방법으로 .. 2023. 2. 18.
[Mybatis] 마이바티스 sql과 include 사용하기 안녕하세요. 오늘은 마이바티스에서 태그와 태그를 사용하는 방법에 대해 포스팅하려고 합니다. 태그와 태그를 사용하는 경우는 공통 sql를 만들어서 필요한 쿼리 영역에 추가하여 재사용성을 올릴 때 사용을 합니다. 보통은 유사한 쿼리마다 쿼리를 생성하게 되는데 하나의 xml이나 유사한 xml에서 겹치는 부분의 쿼리를 많이 사용하게 되는 경우가 있습니다. 가독성은 쿼리별로 작성하는 것이 좋지만 그만큼 재사용성이 떨어지기 때문에 큰 무리가 없다면 위의 태그들을 활용해서 처리해 보는 것도 좋을 것 같습니다. 그러면 태그와 태그를 어떻게 사용하는지 예제를 통해 알아보도록 하겠습니다. 과 : 공통으로 사용할 쿼리 일부분을 태그 내에 넣어두는 요소 : 원하는 태그를 연동하고자 하는 영역에서 include를 시켜주는 요소.. 2023. 2. 17.
Mybatis '요소 콘텐츠는 올바른 형식의 문자 데이터 또는 마크업으로 구성되어야 합니다' 에러 해결하기 안녕하세요. 오늘은 Mybatis의 문법 에러에 대해 포스팅을 하려고 합니다. 에러 내용은 '요소 콘텐츠는 올바른 형식의 문자 데이터 또는 마크업으로 구성되어야 합니다'이며, xml을 작성하다 보면 sql에 부등호를 넣어야 하는 경우에 발생하는 에러입니다. 그런데 sql문을 작성하다 보면 비교 조건을 넣을 때 부등호를 넣어야 하는데 위와 같은 에러가 왜 발생하는 걸까요? 부등호를 넣었을 때 왜 에러가 발생하는 건지 간단한 예제를 통해서 알아보도록 하겠습니다. 1. 에러 발생 예시 SELECT Idx , Name, EmpNo, Age FROM Member WHERE Age < #{age} 위의 예시 코드를 보게 되면 테이블 목록을 호출하는 간단한 예제입니다. 쿼리에서 비교문이 있는 WHERE절을 추가하였고.. 2023. 2. 11.
728x90