개발 일기

[Mybatis,mysql] 다중쿼리, 쿼리 2개 이상 실행하기 본문

웹개발/Mybatis

[Mybatis,mysql] 다중쿼리, 쿼리 2개 이상 실행하기

사용자 wwwnghks 2019. 2. 25. 14:49

Mybatis 에서 쿼리 2개 실행하기.


우선 dataSource 에 있는 url 프로퍼티에 
 <property name="url" value="jdbc:mysql://127.0.0.1:3306/TestDB?allowMultiQueries=true" />

allowMultiQueries 파라미터를 추가해준다.


쿼리 작성 방법은 예를들어 프로시저 호출 후(해당 getData프로시저는 return 이 select문이 아니다.)에 그 값을 불러오는 방식이다.

<select id="getData" statementType="CALLABLE" parameterType="TestVO" resultType="TestVO">

CALL getData(

#{inputparam1},

#{inputParam2},

@a,@b

);

select @a as outParam01,@b as outParam02;

</select>


물론 inputparam1,inputparam2,outParam01,outParam02 4개의 항목이 TestVO 안에 getter,setter 메소드가 있어야한다.

2 Comments
  • 프로필사진 초보 2020.02.07 08:23 안녕하세요.
    Mybatis에서 멀티 쿼리 실행방법을 찾다가 포스팅을 보게되었습니다.
    실례가 되지 않는다면 아래와 같은 쿼리는 어떻게 해야 할 수 있을까요?
    SET @val1 = 10000;
    SET @val2 = 20000;
    SET @sum = @val1 + @val2;
    SELECT * FROM TABLE
    WHERE SUM = @sum;
    조언 부탁 드립니다.
  • 프로필사진 사용자 wwwnghks 2020.02.07 15:36 신고 allowMultiQueries=true 추가하셨다면,
    작성해 주신대로 하시면 결과 값 나옵니다.
    <select id="test11" resultType="int">
    SET @val1 = 10000;
    SET @val2 = 20000;
    SET @sum = @val1 + @val2;
    SELECT @sum FROM DUAL;
    </select>
    다음과 같이 하니깐 결과 값 잘 나오네요 ㅎㅎ
댓글쓰기 폼