DB

MyBatis 다중쿼리 사용

91cm 2018. 8. 17. 00:45


mariaDB에서 페이징을 하던중에 오라클의 row_number기능을 쓰게되었다.



실행쿼리

1
2
3
4
set @row_number =0;
select (@row_number:=@row_number+1) no, member_id
from member
 
cs


이상하게 SQL툴에서는 이상없이 잘 작동했다.


하지만 Mybatis에서 사용하면 에러가 발생하는 것이다.


SQL툴은 Multiple Queries 기능을 지원하기 때문에 에러가 발생하지 않은거 였다...





*해결법


DB Connection URL에서 allowMultiQueries=true로 주면된다. 

Oracle이랑 MS-SQL에는 이 옵션이 없다.

1
2
3
4
5
6
7
<!-- MySql Connect -->
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="core.log.jdbc.driver.MysqlDriver"/>
        <property name="url" value="jdbc:mysql://127.0.0.1:3306/abcd?allowMultiQueries=true"/>
        <property name="username" value=""/>
        <property name="password" value=""/>
    </bean>
cs