본문 바로가기

분류 전체보기68

[Spring] Spring Transaction 설정 DB를 다룰려면 트랜잭션이 매우 중요하다. 개념적으로는 중요성을 이해하고 있지만 실제 업무에서 트랜잭션을 관리해본적이 없다... 그래서 Transaction 설정방법과 propagation에 대해서만 작성함... 우선 context에 transactionManager빈을 추가한다. DataSourceTransactionManager는 Connection의 트랜잭션 API를 이용해서 트랜잭션을 관리해주는 트랜잭션 매니저이고 JDBC API를 이용하여 트랜잭션을 관리하는 데이터 액세스 기술인 JDBC와 Mybatis에 적용가능하다. 1. Annotation을 이용한 트랜잭션 context에 요 한줄을 추가한다. @Transactional public interface MemberService { public.. 2016. 3. 2.
[Spring] log4sql SQL로그 확인하기 mybatis를 사용하면서 SQL에서 파라미터 에러가 나는데 도저히 원인을 찾을 수가 없었다. 예전에 모기업에 파견나갔을때 보니까 SQL의?로 표시된 파라미터 값에 실제 매핑된 값을 표기해주는 로그를 봤었는데 그게 생각나서 찾아봤으나 동일한 것은 찾질 못함...그리고 SQL로그 표시해주는 라이브러를 여러개 확인해봤는데 log4sql이 제일 확실했다. 다만 maven엔 없는듯 1.http://log4sql.sourceforge.net/index_kr.html일단 위의 사이트에 들어가서 log4sql.jar, log4sql_conf.jsp를 다운받는다. 2.프로젝트 내에 다음과 같이 파일들을 위치시킨다. log4sql_conf.jsp는 WEB-INF 아래에 위치시켜야한다. log4sql.jar의 위치는 어차.. 2016. 3. 2.
[Spring] Could not write JSON: Object is null HTTP Status 500 - Could not write JSON: Object is null (through reference chain: net.sf.json.JSONObject["rows"]->net.sf.json.JSONArray[0]->net.sf.json.JSONObject["uploadfile"]->net.sf.json.JSONNull["empty"]); nested exception is org.codehaus.jackson.map.JsonMappingException: Object is null (through reference chain: net.sf.json.JSONObject["rows"]->net.sf.json.JSONArray[0]->net.sf.json.JSONObject[.. 2016. 2. 26.
[Spring] Spring Mybatis 설정 2 mybatis mapper의 자세한 설정에 대해서는 아무래도 어중간한 설명을 쓰는 것보다는 공식 문서를 읽는게 좋은 것 같다. 거기다 한글이니 읽는데는 무리가 없을 듯. 대신 Spring validator를 해보면서 만든 화면을 가지고 테스트를 해보았다. validator는 여기를 참고한다. 1. Sign up 화면을 불러올 때, 관심분야는 DB에서 불러온다. 2. Submit을 눌렀을 때, 유효성 검사를 하는데, 아이디 중복여부도 함께 체크한다. 3. DB에 사용자 정보를 추가한다. 의 순서로 진행된다. 1. 조건없는 Select Mybatis를 쓰는 가장 큰 이유는 Java bean과의 매핑이 유용하기 때문이다. 별다른 설정을 하지 않아도 hashmap형태로 받을 수 있고 VO나 자체적으로 resul.. 2016. 2. 23.
[Spring] Spring Mybatis 설정 1 Spring 프로젝트를 하이버네이트로 하려고 했었는데 자료도 그다지 없고... 의지박약으로 지지부진해서 일단 Mybatis라도 잘하자라는 마음에 노선을 변경...ㅠ Mybatis와 DB 연결방식은 대략 다음과 같다. Database Connection Pool(DBCP) : JDBC를 통하여 DB에 연결할 경우, 매번 드라이버를 로드하고 Connection 객체를 가져와야하는데 매우 비효율적이다. 이를 해소하기 위해 웹 컨테이너가 실행되면서 DB와 연결된 Connection 객체를 미리 Pool에 생성해두고 필요할 때에 가져다쓰고 반환한다. DB의 부하를 줄이고 유동적으로 연결을 관리할 수 있다. SessionFactory : 단일 데이터 저장소, 안정적인 스레드를 위한 목적으로 사용된다. Session.. 2016. 2. 17.
[리뷰] iptime A604 AWS 사용법을 올리긴했는데..... 서비스를 중단시켜도 스토리지 사용요금은 부과된다고 하길래그냥 액정깨진 넷북을 서버로 돌리기로 했다... 근데 sk에서 준 공유기는 포트포워딩이 안됨.. 그래서 공유기를 바꿔보려고 했다. 다만 가장 큰 걸림돌은 우리집에 IPTV가 두 대나 있다는거 집 네트워크는 간략하게 정리하면 이렇게 되어있다. 아버지가 집에서 일하시다보니 TV가 하루종일 틀어져있는 상황이라 tv가 가장 중요했음이전에도 공유기 한번 바꿔보려다가 통신사 공유기 말고 다른거 쓰면 iptv가 끊기는 일이 잦다고해서 안하다가 이번에 시도를 해봄 iptime.org DDNS를 기존에 사용하던걸 계속 사용하기 위해 브랜드는 iptime으로 잡았고 802.11ac를 지원하는 공유기로 골랐다.NAS기능은 필요없고 .. 2016. 2. 16.