본문 바로가기

전체 글124

[Mysql] rownum 활용 Mysql은 Oracle과는 다르게 rownum을 지원하지 않아서 커스텀으로 만들어서 사용해줘야 한다. 함수를 사용하여 rownum을 지정해줄 수도 있다. 커스텀 rownum 함수 row_number() 커스텀 rownum select @rownum:= @rownum + 1 as rownum, t.* from table1 t, (select @rownum := 0) r; select rt.* from ( select @rownum:= @rownum +1 as rownum, t.* from table1 as t, (select @rownum := 0) as r ) as rt where rt.rownum between 2 and 4; select rt.* from ( select @rownum:= @rown.. 2022. 7. 20.
서블릿/JSP 톰캣 (WAS) tcp/ip 소켓 연결관리, http 프로토콜 해석 등 프로그래머가 웹 구현을 쉽게할 수 있도록 기능을 제공해준다. 또한 서블릿 컨테이너를 관리한다. 서블릿, 스레드를 관리한다. 스레드로 URL 요청에 맞는 서블릿을 실행시킨다. URL를 보고 해당되는 서블릿의 service()를 호출 * 스프링에서의 동작은 URL을 단순히 Dispatcher Servlet에게 전부 준다. 서블릿 톰캣은 HttpServlet 을 상속한 servlet들을 알아보고 관리한다. (HttpServletRequest, HttpServletResponse)도 생성해준다. extends HttpServlet service() service()에서 get, post를 처리해주던지, service()이후에 doGet(),.. 2022. 7. 19.
[Spring] Bean을 싱글톤으로 사용해도 되는 이유 package singletoneTest; public class Object1 { private static Object1 o; // 싱글톤 private static int oNumber; // 상태 저장 public static Object1 getInstance(){ if(o == null) o = new Object1(); return o; } public int func(int n){ try { Thread.sleep(1); } catch (InterruptedException e) { e.printStackTrace(); } return n; } public int sfunc(int n){ oNumber = n; try { Thread.sleep(1); } catch (InterruptedE.. 2022. 7. 18.
[Spring] Validation 유효성 검증 gradle을 이용해서 validation jar파일을 의존성 추가 해준다. dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-aop' implementation 'org.springframework.boot:spring-boot-devtools' implementation 'org.springframework.boot:spring-boot-starter-validation:2.6.6' implementation 'org.springframework.boot:spring-boot-starter-valid.. 2022. 7. 16.
[JAVA] 컬렉션 프레임 워크 <-> 배열 변환 배열을 컬렉션 프레임워크로 변환 방법 1 int[] arr = {1,2,3,4,5}; List list1 = new ArrayList(); for(int i = 0 ; i 2022. 7. 13.
[DataBase] 오류 자바코드와 database 테이블 칼럼 매핑 applicationProperty에 해당 기능을 추가했을 경우 mybatis.configuration.map-underscore-to-camel-case=true 자바는 camelCase, Mybatis 연동 databse는 snake_case 일 때 정상적으로 가져온다. 자바가 snake_case로 선언되어있지 않은가 확인해본다. 자바 코드 변경이 불가능한 경우 Mapper sql문에서 snake_case를 camelCase로 변경해줄 수 있다. ex) @Select("select user_id as userId from User"); JPA 에서 Unable to find user id / id 2번을 못찾는다는 오류가 있었는데, data.sql 에 us.. 2022. 6. 29.