본문 바로가기

MyBatis Insert 자동 증가값 가져오기 DB에서의 자동 증가값은 숫자형식으로 사용자가 해당컬럼을 제외하고 Insert 시에 설정된 값이 자동으로 들어간다. DBMS의 종류에 따라 그 명칭이 다른데 MsSqL의 경우 identity 라고 불리우며 MySQL에서는 autoincrement 라고 불리운다. MyBatis를 이용하여 DB에 Insert시에 자동증가된 값이 있을경우 Select Key를 활용하여 자동 증가된 값을 알 수 있다. 사용자가 작은 시스템이라면 Insert후 가장 최근의 값을 별도로 호출하여 사용할 수 있겠지만, 만약 사용자가 많은 시스템이라면 Insert후 max 값을 찾는 행위는 아주 위험하다고 할 수 있다. 그 이유는 많은 사용자가 사용될 경우 본인이 insert 한 데이터 외에 타인이 삽입한 데이터의 max 값을 가져올.. 더보기
[Apache] mod_expires를 이용한 캐시설정 우리가 인터넷을 사용할때 사용하는 브라우저는 웹페이지 접근시에 이미지, 문서 등과 같은 파일을 임시로 하드디스크에 저장한다. 이를 웹브라우저 캐시라고도 한다. 하드디스크에 저장하는 이유는 이후 동일 사이트 접속시 미리 최근에 저장해놓은 파일들을 이용하여 웹 페이지를 빠르게 로딩하기 위함이다. 하지만 캐시는 영원히 디스크에 남는것이 아니고, 주기적으로 삭제가 된다. 웹 브라우저는 단지 최근에 방문한 사이트만의 캐시만을 가지고 있을 뿐이다. 사실 개발자 입장에서는 캐시를 적절하게 사용하면 웹사이트의 성능을 높일 수 있다. 예를 들어 나같은경우 에전에 진행했던 프로젝트에서 한 화면에 노출되는 이미지의 용량이 엄청났었는데, 사용자가 웹페이지에 접속하면 이미지들을 불러오느라 꽤 많은 시간이 소요되는것을 확인하였다.. 더보기
[JSP] session(세션)을 이용한 로그인 우리가 일반적으로 사용하는 회원 로그인등을 구현할때 많이 사용되는것이 세션(session) 객체이다. 사용자의 로그인 정보를 쿠키나 세션등에 저장하여 로그인 여부를 확인할 수 있는데, 클라이언트에 저장되는 쿠키와는 달리 세션(session) 정보는 웹 서버(컨테이너)에 저장이 되므로 보안상 더 유리하다. 위와 같은 이유로 많은 사람들이 로그인 구현시 세션(session)을 활용하여 많이 구현한다. 세션은 클라이언트의 브라우저 1개당 1개씩 생성이 되며, 동일 클라이언트(동일 PC)라 할지라도 브라우저 종류(FF,Chrome,IE)가 다르면 세션을 추가로 생성하는게 가능하다. 이 경우 특별한 로그인 방식을 취하지 않으면 여러 브라우저에서 동시 로그인이 가능하다는 이야기가 된다. JSP에서의 세션은 java.. 더보기