분류 전체보기242 [Spring] QuartzJobBean 으로 스케쥴러 등록 및 사용 매번 까먹어서 기록 1. pom.xml에 라이브러리 추가 https://mvnrepository.com/artifact/org.quartz-scheduler/quartz QuartzJobBean을 상속받은 Job 클래스 구현 /** *스케쥴 Job 실행 클래스 */ public class CloudJobExecutor extends QuartzJobBean { @Override protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException { // TODO Auto-generated method stub // 실제 수행할 로직.. } } Spring-Quartz 설정(context-quartz.xml) - 버젼별로.. 2024. 1. 10. Redshift 최근 실행 쿼리 확인 방법 아래 쿼리로 최근 100개의 실행 쿼리를 확인할 수 있다. select * from stl_query order by stl_query.starttime desc limit 100 ; 실행하면 이러한 정보를 얻을 수 있다. 2023. 11. 29. [Querydsl] Where 절에 case문 사용 querydsl에서도 where절에 case문 사용이 가능하다. 아래처럼 사용한다. 보통 동적으로 조건을 나눠 걸어야할 때 사용하기 때문에, 내 경우는 아예 조건문을 생성하는 기능을 따로 구현하도록 했다. BooleanBuilder 앞뒤에 얼마든지 추가 조건을 붙일 수 있다. BooleanBuilder conditions = new BooleanBuilder(); if (addYn.isSuppCd() && noneNull(this.suppCd, params.getSuppCd())) { // 조건이 true일 경우 in절을 조건절에 넣고 false일 경우 1=1 을 넣어 pass 시킨다. conditions.and(new CaseBuilder().when(params.getCorpRegNo().eq(thi.. 2023. 11. 28. [AWS RedShift] querydsl 레드시프트에서 나눗셈 때 소수점 표기 올바르게 하는 방법 2가지 레드시프트에서 나눗셈을 하면 정수로 떨어지거나 특정 자리에서 버림처리 해버리는 경우가 발생한다. 이유는, 나눗셈할 때 정수/정수 로 들어왔을 경우 나눗셈 결과가 정수로 떨어지기 때문이다. 해결 방법은 숫자를 분명하게 정수가 아니도록 만들어주는 것이다. 쿼리로 던질 경우는 소수점 처리를 하면 되지만 Querydsl 등에서 파라미터로 던질 때는 아래와 같이 한다. 아래와 같은 식으로 함수를 구성한다고 하면 분모와 분자를 던질 때 1.0을 곱해서 던진다. multiply를 Double형으로 던져도 원하는 결과는 나오지 않는다. public static NumberTemplate divideAndMultiplyAndRound(Integer scale, Integer multiply, Object... args).. 2023. 11. 7. [Querydsl] Querydsl에서 groupBy에 substring 사용 불가 원인을 확실하게는 모르겠으나, 일반 query 작성 시에는 group by 절에 substring(redshift 함수명 기준)으로 자른 것도 사용 가능하나 querydsl에서는 불가능하다. 위와 같이 세팅후 실행하면 이렇게..!!! 되지 않는다. 레드시프트에서 일반 쿼리문으로는 문제 없는 것을 보면 레드시프트에서 지원하는 라이브러리에서 문제가 있는 것 같은데... 그런 거면 답이 없다. 2023. 9. 22. 모든 HTML 태그 제거하는 정규식 String regex = "]*>?";// 모든 HTML 태그 제거하는 정규식 String html = "~~~나나나나누나나나"; println(html.replaceAll(regex, ""); >> ~~~나나나나누나나나 2023. 5. 18. Querydsl where 절에 문자열 replace 함수 사용 방법 where절에 사용하기 위해 stringTemplete을 활용한다. /** * sp의 공백을 제거하고 영문을 소문자로 변환하여 리턴한다. * DB값을 변환해서 검색할 때 사용 * * @param sp DB에 입력된 문자열 */ public static StringTemplate removeBlankAndConvertLower(StringPath sp) { return Expressions.stringTemplate("lower(replace({0}, ' ', ''))", sp); } 2023. 3. 8. Poi 라이브러리에서 wrapText = true 지정하여 2줄 이상의 텍스트를 넣었는데 자동 줄바꿈만 되고 높이가 한 줄 높이 그대로인 경우 자동줄바꿈만 되고 높이가 한줄 높이 그대로인 경우가 있다. 그런 경우 아래처럼 옵션을 주면 자동으로 맞춰준다. currentRow.setHeight((short)-1) SXSSFWorkbook 기준으로 잘 동작하는 것을 확인하였다. 2023. 1. 13. Poi Library 오류 : The maximum column width for an individual cell is 255 characters. 엑셀 다운로드를 구현하고 스타일을 적용하는 과정에서 아래 오류를 발견했다. The maximum column width for an individual cell is 255 characters. 원인은, Poi 라이브러리에서 지원하는 최대 가로 길이가 255 * 256이기 때문. 255는 글자수를 의미하고 256은 엑셀파일에서 보는 기준 한글자(영어 기준)의 가로 길이다. 즉, 영문 255자까지가 허용되는 컬럼 가로 길이다. 해결은 단순히 최대값의 제한을 걸면 되므로 Math.min(A,B) 로 제한을 걸면 된다. 참고로 한글은 256이 아니라 512로 하면 적절하게 맞는다. 즉 한글은 122자 정도 길이가 한계라고 보면 된다. 이렇게 가로 길이를 제한하고 난 뒤에는 CellStyle을 이용해 wrapT.. 2023. 1. 13. 이전 1 2 3 4 5 ··· 27 다음