spring mybatis 연동 예제

spring mybatis 연동 예제

데이터베이스에 대한 연결 대상, 매핑 파일 경로, MyBatis의 작업 설정 등과 같은 세부 사항을 설명하는 파일입니다. 스프링과 통합하여 사용할 때 구성 파일에서 데이터베이스연결 대상을 지정하고 파일 경로 설정을 매핑할 필요는 없습니다. 그러나 MyBatis3의 기본 작업을 변경하거나 확장할 때 설정이 수행됩니다. 따라서 생성된 SqlSessionFactory는 스프링 DI 컨테이너에 의해 저장됩니다. 예를 들어 “한 데이터 레코드의 크기”가 2KB이고 “검색 결과 수”가 10,000개의 레코드인 경우 동시 메모리 소비는 다음과 같습니다. 소스 세이프는 비관적 잠금의 좋은 예입니다. 비관적 잠금은 데이터베이스 개념으로 시작되었지만 이 예제를 통해 볼 수 있듯이 응용 프로그램 수준에서 실현될 수 있습니다. 이러한 유형의 잠금 뒤에 있는 핵심 개념은 한 사람만 변경 하는 동안 해당 사용자에 게 부여 된 전용 잠금을 통해 달성 하는 공유 레코드에 대 한 단독 액세스 권한이 있다는 것입니다. 잠금이 유지되는 동안 다른 사람은 잠금을 얻을 수 없습니다 (따라서 기다려야합니다). 해당 사람이 레코드 를 업데이트하면 잠금이 해제되고 다음 사람이 잠금을 얻을 수 있습니다. 당신이 상상할 수 있듯이, 이것은 데이터 무결성을 유지하는 훌륭한 일을하지만, 사용하기 매우 친절하지 않으며, 정말 필요하지 않은 경우에 잠금을 획득하고 해제하는 데 많은 시간을 낭비 할 수 있습니다. 위의 예에서는 정상적인 사용을 위해 REUSE 모드 리포지토리에 대한 빈 이름 중복을 Bean 이름 접미사로 BatchRepository로 설정하여 방지할 수 있습니다. 이를 어떻게 구현합니까? 다행히 오라클은 행 잠금을 요청할 때 이미 잠긴 행을 무시하는 멋진 기능을 제공했습니다.

쿼리에 대해 잠긴 건너뛰기 부분을 추가하기만 하면 됩니다. 일부 다른 데이터베이스 공급업체도 이 기능을 제공하지만 전부는 아닙니다. 예를 들어 MSSQL에는 이 기능이 있지만 MySQL에는 이 기능이 붙내장된 기능으로 존재하지 않습니다. SqlSessionTemplate에는 실행기 Type을 인수로 하는 생성자도 있습니다. 예를 들어, 봄의 구성 파일에서 다음을 사용하여 일괄 처리 SqlSession을 구성할 수 있습니다.

Comments are closed.

    About

    This is the deafult sidebar, add some widgets to change it.