목록STUDY (32)
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..
$.ajax( { type: "POST", url: "/test/testUrl", data: JSON.stringify(params), contentType: 'application/json', cache: false, dataType: 'json', success: function(data) { console.log('성공'); }, error: function(jqXHR, status, error) { alert('에러'); } }); jQuery의 ajax 메서드를 사용할 때 요청은 정상적으로 처리되었으나 계속해서 404 에러가 났다. 찾아보니 컨트롤러가 Ajax 요청을 받아 처리는 했으나, 다시 돌려주는 값이 없어서 발생하는 에러였다. 즉, 요청은 했는데 응답이 없으니 응답이 없다는 결과가 나온 ..
$.each() 함수는 단순히 배열이나 객체를 순회하면서 그때마다 callback을 실행시켜주는 함수이다. 따라서 반복문이 아니기 때문에 break와 continue가 먹히지 않는다. break문 continue문을 사용하려면? 반복문에는 skip할 수 있는 제어문이 필요하다. $.each() 함수는 return 키워드를 통해 이를 제어한다. 만약 break를 사용하고 싶다면 callback에서 false를 리턴하면 된다. 그외의 것을 리턴하는 경우 continue와 같이 동작한다. let elems = $('.item-box').find('.item'); let elem; elems.each(function() { if($(this).data('index') == 10) { return false; /..