본문 바로가기

멘토412

Spring 트랜젝션 제어 처리 TX가 들어가 있는가 밑에 HTTP에도 짝을이루어 TX가 들어가 잇는가 root-context에 아래 코드 넣음 serviceImpl에가서 어노테이션 추가 그러면 끝 2023. 8. 11.
AOP log(횡단관심사) aspectj aspectjweaver 1.5.4 복사된 코드 pom.xml에가서 varsioin에 주위할점은 의존성 주입코드를 1.5.4로 가져왔으니까 org.aspectj-version를 1.5.4로 맞춰주어야 한다 안그러면 오류남 varsion에 org.aspectj-version을 넣어준다 그리고 root-context로 가서 위 코드를 추가해준다 aop패키지 밑 하위 클래스를 만들고 클래스 안에 코드 작성 ServiceLoggerAdvice클래스 package kr.or.ddit.aop; import java.util.Arrays; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; import org.a.. 2023. 8. 11.
SQL 계층형 쿼리(Hierarchical Query) 계층형 쿼리(Hierarchical Query)는 오라클에서만 지원하고 있는 아주 막강한 기능 중의 하나다. 관계형(relational)이라는 의미가 서로 평등하고 수평적인 관계를 의미하는 반면 계층형(hirearchical) 구조는 이와는 다르게 평등한 관계가 아닌 계급적이고 수직적인 관계를 가진다. 한마디로 말해서 관게형이 평면적이라 한다면 계층형은 수직적 구조라 할수있다. 계층형 정보에는 사회적인 의미의 계급구조, 등이 있고 소프트웨어 관점에서 살펴보면, 웹사이트에서 사용하는 답변형 게시판이나 BOM(Bill Of Material)등이 계층형 정보의 전형적인 예이다. * BOM(Bill Of Material) 이란? 하나의 완제품이 만들어지는데 필요한 구성품목들의 내역 혹은 조합도를 말함. 컴퓨터 .. 2023. 8. 10.
[SQL] 다중 INSERT sql--다중 insertINSERT ALLINTO ITEM_ATTACH(FULLNAME, ITEM_ID, REGDATE) VALUES('개똥이.jpg',1,sysdate)INTO ITEM_ATTACH(FULLNAME, ITEM_ID, REGDATE) VALUES('개똥이2.jpg',1,sysdate)INTO ITEM_ATTACH(FULLNAME, ITEM_ID, REGDATE) VALUES('개똥이3.jpg',1,sysdate)SELECT * FROM DUAL;COMMIT;   maper.xml에서 itemAttachVOList -->INTO ITEM_ATTACH(FULLNAME, ITEM_ID, REGDATE)VALUES(#{itemAttachVO.fullname},#{itemAttachVO.item.. 2023. 8. 10.
[SQL] 카멜케이스 변환 where절에 TABLE_NAME값만 카멜케이스로 뽑아오고 싶은 테이블 넣어주면된다 ORACLEcreate or replace FUNCTION FN_GETCAMEL(COLUMN_NAME IN VARCHAR2)RETURN VARCHAR2ISRSLT VARCHAR2(30);BEGIN--카멜표기로 변환(SITE_NUM -> siteNum)SELECT LOWER(SUBSTR(REPLACE(INITCAP(COLUMN_NAME),'_'),1,1))|| SUBSTR(REPLACE(INITCAP(COLUMN_NAME),'_'),2) INTO RSLTFROM DUAL;--리턴RETURN RSLT;END;/--구글 카멜변환(https://heavenly-appear.tistory.com/270)SELECT COLUMN_N.. 2023. 8. 9.
hibernate 라이브러리 입력과 검증을 하기위한 라이브러리 org.hibernate hibernate-validator 5.4.2.Final Bean Validation이 제공하는 제약 애너테이션 - NotNull : 빈 값 체크 - NotBlank : null 체크, trim후 길이가 0인지 체크 - Size : 글자 수 체크 - Email : 이메일 주소 형식 체크 - Past : 오늘보다 과거 날짜(ex. 생일) - Future : 미래 날짜 체크(ex. 예약일) - AssertFalse : false 값만 통과 가능 - AssertTrue : true 값만 통과 가능 - DecimalMax(value=) : 지정된 값 이하의 실수만 통과 가능 - DecimalMin(value=) : 지정된 값 이상의 실수만 통과 가능 -.. 2023. 8. 9.