본문 바로가기
728x90
반응형

mybatis3

[MyBatis] 반복되는 쿼리 한번에 쓰기 select / update / delete 를 수행 할 때 같은 테이블 또는 같은 컬럼을 다루는 sql 쿼리문에서는비슷한 where 절 조건문을 사용할 때가 많다. 같은 내용의 소스를 여러번 반복해서 사용하게 되면 소스파일이 길어지고, 복잡해보이고, 지저분해 보일수도... 이 때! 함수를 호출하는 것 처럼 반복되는 쿼리문을 미리 선언하여 가져다 쓰기로 하자. 안에 을 선언하고 반복적으로 사용 할 쿼리문을 넣는다. 선언한 sql 을 사용 할 때엔 만 적어 놓으면 끝~~~~~~~~! 조건문 외에 select * from 과 같이 일반적으로 사용하는 쿼리문도 사용 할 수 있다. 12345678910111213141516171819202122232425262728293031323334353637 AND D.C.. 2018. 12. 17.
[MyBatis] 부적합한 열 유형 : 1111 오류 Error setting null for parameter #1 with JdbcType OTHER . Try setting a different JdbcType for this parameter or a different jdbcTypeForNull configuration property. Cause: java.sql.SQLException: 부적합한 열 유형: 1111 분명 쿼리상의 동적데이터에 값이 있음에도 불구하고 #뒤에 붙은 번호의 파라미터값이 null 이기 때문에 이런 오류가 발생한다. **해결방안 마이바티스 쿼리문 내 파라미터에 jdbcType 을 추가해준다. 1WORKDAY = #{param.WORKDAY ,jdbcType=VARCHAR }cs 2017. 12. 28.
MyBatis 반복문(foreach) + String[] 배열(array) / iBatis 반복문(iterate) + 동적 쿼리(dynamic) myBatis 와 iBatis 의 반복문은 크게 다르진 않다. **open="(" : 반복시 '('로 시작​close=")" : 반복시 ')'로 끝남prepend : 'WHERE' 과 같이 iterate 문 앞에 첨가 *** myBatis 1234567 DELETE FROM ${TABLENAME} WHERE ID = #{item} Colored by Color Scriptercs collection : 전달받은 인자값 이름(변수 이름) item : foreach 문 안에서 사용할 매개변수 이름 separator : foreach 문이 한번 돌고 다음번 돌때의 구분자 * 배열을 파라미터로 받을때collection 에 꼭! array 로!! 12345678910String[] 배열이름; SELECT * FR.. 2017. 12. 28.
728x90
반응형