본문 바로가기

Java21

[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.
[Spring Boot] 리액트 네이티브 bcrypt를 이용해서 암호화 검증하기 안녕하세요! 오늘은 이전에 포스팅한 "리액트네이티브로 bcrypt 암호화하기"에 이어서, 서버 측(Spring Boot)에서 암호화된 입력값을 받아 검증하는 방법에 대해 알아보려고 합니다. 일반적으로 JSP, Thymeleaf와 같은 경우 Spring Security를 사용하여 로그인 검증을 처리하는 것이 간단하지만, 최근에는 frontend와 backend를 분리한 SPA(Single-Page Application)와 같은 개발 패턴이 많이 사용됩니다. 이런 경우에는 로그인 정보를 암호화하여 서버 측으로 전달해야 합니다. 물론, JSP나 Thymeleaf와 같은 방식에서도 상황에 따라 암호화 처리를 하여 전달할 수도 있습니다. 이제 Spring Boot에서 bcrypt를 사용하여 로그인 검증을 어떻게 .. 2023. 7. 10.
[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.