mybatis의 1단계 캐시와 2단계 캐시의 차이점: 1. Mybatis의 1단계 캐시는 SQLSession을 참조합니다. 1단계 캐시의 범위는 SQlSession입니다. 2. Mybatis는 기본적으로 이를 활성화하지 않습니다.
이 기사의 운영 환경: Windows 7 시스템, MyBatis 버전 3.5.6, Dell G3 컴퓨터.
mybatis의 1단계 캐시와 2단계 캐시의 차이점:
1) Mybatis의 1단계 캐시는 SQLSession을 참조합니다. 1단계 캐시의 범위는 SQlSession입니다. 기본적으로 1단계 캐시. 동일한 SqlSession에서 동일한 SQL 쿼리를 실행하면 처음에는 데이터베이스를 쿼리하여 캐시에 쓰고 두 번째에는 캐시에서 직접 가져옵니다. SQL이 실행되고 두 쿼리 사이에 추가, 삭제 및 수정이 발생하면 SQLSession 캐시가 지워집니다.
각 쿼리는 먼저 캐시에서 검색합니다. 찾을 수 없으면 데이터베이스를 쿼리한 다음 결과를 캐시에 씁니다. 마이바티스의 내부 캐시는 HashMap을 사용하며, 키는 hashcode+statementId+sql 문이다. 값은 쿼리 결과 집합에 매핑된 Java 개체입니다. SqlSession이 삽입, 업데이트, 삭제 및 기타 작업 커밋을 수행한 후 SQLSession 캐시가 지워집니다.
2) 두 번째 수준 캐시 두 번째 수준 캐시는 매퍼 수준에 있습니다. Mybatis는 기본적으로 두 번째 수준 캐시를 활성화하지 않습니다. 사용자 정보를 질의하기 위해 매퍼 아래의 SQL이 처음 호출될 때, 질의된 정보는 매퍼에 해당하는 2차 캐시 영역에 저장됩니다. 네임스페이스 아래 매퍼 매핑 파일에 대한 두 번째 호출에서는 동일한 SQL을 사용하여 사용자 정보를 쿼리하고 결과는 해당하는 두 번째 수준 캐시에서 검색됩니다.
관련 추천: Java 입문 튜토리얼
위 내용은 mybatis 1단계 캐시와 2단계 캐시의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!