본문 바로가기

Database3

H2 Database 연동 및 콘솔 접속 방법 정리 (+runtimeOnly) 애플리케이션을 개발 할 때 초기 테스트 디비로 H2 데이터베이스를 많이 사용하므로 설정하는 방법을 정리하고 설정할 때 궁금했던 점을 같이 정리해논다. H2 Database 연동 및 콘솔 접속 방법 정리 (+runtimeOnly) H2 데이터베이스 테스트 시 사용 이유 설정방법을 정리 해놓기 앞서 왜 테스트 데이터베이스로 많이 사용하는지에 대해서 정리하려고 한다. H2 데이터베이스는 다음과 같은 이유로 애플리케이션에서 개발 및 테스트 목적으로 메모리 내 데이터베이스로 사용된다. 1. 경량 및 내장형 - 내장형 디비로 실행하는데 별도의 서버 프로세스가 필요하지 않다. 대신 스프링부트 애플리케이션 내에서 라이브러리로 실행되어 손쉽게 개발 및 테스트를 목적으로 사용할 수 있다. 2. 빠르다 - H2 디비는 속도.. 2023. 2. 22.
스프링 트랜잭션 @Transactional(readOnly=true) @Transactional 옵션에는 여러가지 옵션 설정이 있지만 오늘은 그 중에서 readOnly 옵션에 대해서 정리하려고 한다. 옵션에서도 알 수 있듯이 읽기 전용이라는 것을 알 수 있다. 그렇다면 이런 의문점이 들 수 있다. 어짜피 조회만 하는 곳에 @Transactional 어노테이션을 붙일 필요가 있을까? 라는 의문점이다. 결론적으로는 안붙인다고 문제가 될 것은 없지만 붙이게 된다면 여러가지 이점을 주기 때문에 붙이는 것이 좋다. 그럼 @Transactional(readOnly=true) 설정에 대해서 알아보자. 스프링 트랜잭션 @Transactional(readOnly=true) Transaction? 먼저 트랜잭션이란 데이터베이스의 상태를 변경하고자 할 때 한 번에 수행되어야 하는 연산들을 의.. 2022. 12. 9.
MySQL - 특정 데이터 포함 확인 LOCATE / INSTR / LIKE 들어가며 MySQL을 통해 테이블에 문자열이 포함되어 있는지 확인하는 3가지 방법에 대해서 정리한다. INSTR 기능 MySQL의 LOCATE 함수를 사용하여 문자열에 특정 데이터가 포함되어 있는지 확인이 가능하다. LOCATE 함수는 LOCATE(substr, str)과 같이 두개의 인수를 사용한다. substr에는 문자열을 입력하고 str에 있는 문자열 substr의 검색 위치를 정수로 반환한다. 만약 substr에 str이 없다면 0을 반환한다. 추가적으로 LOCATE(substr, str, pos) 가 있는데 여기서 pos 위치로 예를들어 5를 적게 되면 문자열 5 이후에 주어진 str을 찾게 된다. 쿼리를 날려보면 다음과 같이 주어진 문자열을 포함을 하고 있다면 결과를 다 반환한다. INSTR .. 2022. 8. 19.