목록전체 글 (31)
Developer N
Could not set parameter at position 1 (values was ~) : 스프링 MyBatis에서 발생하는 위 에러는 주석으로 #{파라미터}를 감쌌을 경우 발생한다. 해결 방법은 간단하다. 주석 내에서 해당 파라미터를 제외하거나 또는 주석을 풀어주면 된다. select * from person p where 1=1 and p.id = #{id} -- and p.age = #{age} -- #{파라미터}를 주석으로 감쌀 경우 -> 에러 발생 and p.name = #{name} -------------------------------------------- -- 해결방법 1 -> 주석 부분 삭제 select * from person p where 1=1 and p.id = #{id..
하나의 MyBatis 에서 여러개의 쿼리를 실행시키고 싶을 때가 있다. 이때 DB연결 부분에서 allowMultiQueries=true 를 붙여주면 된다. jdbc:mysql://localhost:3306/test?allowMultiQueries=true 아래는 이를 이용해 한번에 여러개의 insert 쿼리를 실행하는 MyBatis 코드다. insert into testTable2( id, seq, age, name ) select tt.id, pt.seq, #{age}, #{name} from testTable tt inner join personTable pt on pt.age = tt.age where tt.age = #{age} and tt.deleted_at is null order by pt...
iterate문 태그 ( ibatis : MyBatis의 옛 버전 ) property : 파라미터명 prepend : 쿼리로 쓰일 문자 open : 구문이 시작될 때 삽입할 문자열 close : 구문이 종료될 때 삽입할 문자열 conjunction : 반복되는 사이에 출력할 문자열 foreach문 태그 collection : 전달받은 인자. List or Array 형태만 가능 item : 전달받은 인자값을 alias명으로 대체 open : 구문이 시작될 때 삽입할 문자열 close : 구문이 종료될 때 삽입할 문자열 separator : 반복되는 사이에 출력할 문자열 index : 반복되는 구문 번호. 0부터 순차적으로 증가 update testTable set..