전체 글 썸네일형 리스트형 [Spring]Filter와 Interceptor 공통관심사 어플리케이션 전반에서 여러 로직에 공통적으로 관심이 있는 것들을 공통관심사라고 한다. 어느 웹서비스를 이용하기 위해서 로그인(회원 인증)이 되었는지 확인하는 것을 여러 기능에서 필요로 하는 것이 있다. 상품의 구매, 변경, 취소 이 3가지의 기능만 예로 들어도 3가지 기능 모두 인증이 되었는지 확인한다. 공통관심사에 해당하는 부분이 서비스 로직 시행 전 위치함으로써 필요한 기능을 수행하게 되는 것이다. Filter와 Interceptor의 기반 이 때 사용할 수 있는 것이 Filter(servlet Filter)와 Interceptor이다. Filter는 J2EE 표준스펙에서 제공하는 기술로써 가장 앞단에 존재하는 프론트 컨트롤러인 디스패처 서블릿의 전후에서 필요한 기능을 수행하게 한다. (.. 더보기 [MySQL]사용자변수, 지역변수 MySQL에서 변수를 사용할 수 있다. 변수는 사용자변수, 지역변수, 글로별 변수가 있다. 사용자 변수 사용자변수는 사용자가 편의에 맞게 변수를 선언할 수 있게 해준다. 사용자변수를 사용하고자 할 때는 접두사로 @를 붙이고 아래와 같이 사용하면 된다. SET @name = 'Hong kil dong'; SET @name := 'Hong kil dong'; SELECT @name := 'Hong kil dong'; SET 명령문에서는 등호('=') 표시로 변수에 값을 할당할 수 있다. 그러나 MySQL에서 등호는 비교연산자로 사용되는 것이 기본 스펙이기 때문에 ":=" 를 사용하여 값을 할당하는 것이 기본 문법이다. 할당한 사용자변수를 쿼리에서 이용하는 것이 가능하다. SET @fromDay = '2023.. 더보기 [JAVA]순수 JDBC multiQueries 실행 및 결과 받기 RAW 데이터 기반으로 통계를 내기 위해서 DB에 접속을 해야하는데 통계를 위한 SQL 조회를 한 개 쿼리당 한 개의 커넥션을 가져가서 결과를 얻어오는 것은 좋지 않은 방법이다. 원하는 통계SQL의 결과들을 한 번의 커넥션으로 가져오기 위해서 multiQuery를 사용하였다. JAVA의 DB구현기술은 순수한 JDBC 활용, JDBCTemplate, Mybatis, JPA등이 있지만 여기서는 순수 JDBC를 활용하여 multiquery를 사용한 방법을 작성하였다. JDBC 연결 설정 정보 JDBC url을 설정할 때, "allowMultiQueries=true" 값을 설정을 해주어야한다. spring: datasource: localhost: driver-class-name: com.mysql.cj.jdb.. 더보기 [MySQL]EXPLAN FORMAT=JSON EXPLAIN FORMAT=JSON은. JSON 형식으로 출력을 생성하는 EXPLAIN 명령의 변환이다. Explain format=JSON select * from bikeDrivingClose 더보기 [SpringBoot]MySQL 연동 및 JPA 실행을 위한 설정파일 스프링부트 빌드툴 Gradle 프로젝트에 MySQL 연결 의존성 추가 build.gradle 파일의 dependencies 부분에 아래항목을 추가한다. dependencies { implementation 'com.mysql:mysql-connector-j' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' } 참고! 위와 같이 따로 작성할 수도 있지만, 나는 스프링부트 스타터에서 의존성을 추가하여 파일을 다운로드 받았다. DB 및 JPA정보 입력 스프링부트로 애플리케이션 open 시 resource 폴더에 있던 application관련 파일에 필요한 정보를 입력해주어야한다. 이 정보를 입력할 파일은 2가지 중 선택할 수 있다... 더보기 [SpringBoot]초기 실행 에러 Failed to configure a DataSource 에러 발생 히스토리 스프링부트 build.gradle 파일을 open하고 처음 Application을 Run하려고 할 때 다음과 같은 원인 발생했다. *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following: If you want an emb.. 더보기 [MySQL]테이블 생성 쿼리 테이블 컬럼에 대한 정보를 보고 싶을 때 용이하다. SELECT ORDINAL_POSITION '필드순번', COLUMN_NAME '필드명', DATA_TYPE '데이터 TYPE', COLUMN_TYPE '데이터 LENGTH', COLUMN_KEY 'KEY', IS_NULLABLE 'NULL값여부', EXTRA '자동여부', COLUMN_DEFAULT '디폴트값', COLUMN_COMMENT '필드설명' FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'hyundai' AND TABLE_NAME = 'finishCalc' ORDER BY TABLE_NAME, ORDINAL_POSITION 더보기 [MySQL]날짜 임시테이블 만들기 30일간의 날짜 임시테이블을 만들어볼 수 있다. select a.Date from ( select curdate() - INTERVAL (a.a + (10 * b.a) + (100 * c.a) + (1000 * d.a) ) DAY as Date from (select 0 as a union all select 1 union all select 2 union all select 3 union all select 4 union all select 5 union all select 6 union all select 7 union all select 8 union all select 9) as a cross join (select 0 as a union all select 1 union all select 2 .. 더보기 이전 1 2 3 다음