목록분류 전체보기 (30)
Developer N
List x.containsKey("원하는 Key값").map(m -> m.get("원하는 Key값").toString()).collect(Collectors.toList()); mapList를 stream 반복자로 필요한 값들만 List에 담는 방법이다. stream이란 Iterator와 비슷한 역할을 하지만 람다식으로 요소 처리 코드를 제공해 코드가 좀 더 간결하다는 장점이 있다. 또한 내부반복자를 사용하기 때문에 병렬처리가 쉽고 실행이 더 빠르다. filter는 요소를 특정 기준으로 걸러낼 수 있다.filter() 안의 조건이 참이라면 true 거짓이라면 falst로, true일 경우 다음으로 계속 진행된다. 여기서는 containsKey()를 사용하여 mapList에서 해당 키값이 존재하는지를 알..
GROUP_CONCAT() n개의 row로 결과가 출력되는 쿼리를 한줄의 row로 표현하고 싶을 때가 있다. 이때 GROUP_CONCAT을 사용하면 된다. 쿼리 : select userId from userInfo 결과 : userId aaa1 aaa1 ccc3 bbb2 위 쿼리의 결과가 표와 같다고 할 때 네개의 로우를 하나의 로우로 표현하고자 한다면 아래와 같이 쿼리를 작성하면 된다. 쿼리 : select GROUP_CONCAT(userId SEPARATOR '|') as userId from userInfo 결과 : userId aaa1|aaa1|ccc3|bbb2 위의 표처럼 하나의 row에 구분자를 기준으로 모든 row가 붙어서 출력된다. SEPARATOR을 사용하여 구분자를 원하는 대로 변경할 ..
이벤트 버블링 우리가 원하는 것은 어떤 요소를 클릭했을 때 해당 요소에만 이벤트가 적용되는 것이지만 실제로는 그 요소를 포함하는 부모 요소에도 이벤트가 전달된다. 이를 거품이 커지는 것에 비유해 이벤트 버블링(event bubbling)이라고 한다. test 위 코드의 경우 자식 요소인 를 클릭하면 부모 요소인 에게도 클릭 이벤트가 전달된다. 이벤트 버블링의 경우 자식 요소를 포함하지 않는 부모 요소의 영역을 클릭하면 이벤트 핸들러가 실해되지 않는다. 만약 자식 요소를 클릭했을 때 부모 요소의 이벤트 핸들러를 실행하지 않고자 한다면 두가지 방법을 사용하면 된다. 1. 부모 요소의 이벤트 핸들러에서 this와 event.target을 이용한다. $('#parent').click(function(event)..
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...