목록분류 전체보기 (31)
Developer N
db에서 받아온 문자열 값을 특정 길이만큼 잘라서 줄바꿈을 해야하는 경우가 생겼다. 예를 들면 문자열 "가나다라마바사아자차카타파하"을 고정길이 4로 설정하여 자를 경우 아래처럼 4개의 요소로 분할된다. 가나다라/마바사아/자차카타/파하 이처럼 Java에서 특정 길이만큼 문자열을 분할하는 방법을 알아보자. 1. String 클래스의 substring 메서드 String title = "가나다라마바사아자차카타파하"; int maxLen = 4; int arraySize = (int) Math.ceil((double)title.length() / maxLen); String[] titleArray = new String[arraySize]; int index = 0; for(int startIndex = 0; ..
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..