>  기사  >  Java  >  Java mybatis의 설정 구성 예에 대한 자세한 설명

Java mybatis의 설정 구성 예에 대한 자세한 설명

怪我咯
怪我咯원래의
2017-07-02 10:44:272913검색

이 글에서는 주로 mybatis의 구성 설정에 대한 관련 정보를 소개합니다. 이 글은 모든 사람을 위한 특정 참조 및 학습 가치가 있는 샘플 코드를 통해 자세히 소개합니다.

mybaits에서 설정 구성 매개변수는 다음과 같습니다(구성 파일에 구성되지 않은 경우 ​​기본값이 사용됩니다):


safeRowBoundsEnabledmapUnderscoreToCamelCaselocalCacheScopeSESSIONjdbcTypeForNulllazyLoadTriggerMethodsdefaultScriptingLanguagecallSettersOnNullslogPrefixlogImplproxyFactoryCGLIB | JAVASSISTJAVASSIST (MyBatis 3.3 이상)
매개변수 설정 Description 유효한 값 기본값
cacheEnabled 이 구성의 영향을 받는 모든 매퍼에 구성된 캐시의 전역 스위치 true false true
lazyLoadingEnabled 지연 로딩을 위한 전역 스위치. 활성화되면 관련된 모든 objects가 지연 로드됩니다. 특정 연결에서 항목의 스위치 상태는 fetchTypeproperty true | false false
aggressiveLazyLoading 을 설정하여 재정의할 수 있습니다. 활성화되면 게으른 속성을 호출하면 지연 로딩 속성이 발생합니다. 객체가 완전히 로드됩니다. 그렇지 않으면 필요에 따라 각 속성이 로드됩니다. true | false true
multipleResultSetsEnabled 단일 문이 여러 결과 집합을 반환할 수 있는지 여부(호환 드라이버 필요) true | false true
useColumnLabel 열 이름 대신 열 레이블을 사용하세요. 이와 관련하여 드라이버마다 성능이 다릅니다. 자세한 내용은 관련 드라이버 설명서를 참조하거나 이러한 두 가지 모드를 테스트하여 사용된 드라이버의 결과를 관찰할 수 있습니다. true | false true
useGeneratedKeys 를 사용하면 JDBC가 기본 키 자동 생성을 지원하고 드라이버 호환성이 필요합니다. 이 설정을 true로 설정하면 자동 생성된 기본 키를 강제로 사용하게 되며 일부 드라이버가 호환되지 않는 경우에도 작동합니다(예: Derby). true | false False
autoMappingBehavior MyBatis가 열을 필드나 속성에 자동으로 매핑하는 방법을 지정합니다. NONE은 자동 매핑을 취소한다는 의미입니다. PARTIAL은 중첩된 결과 집합 매핑을 정의하지 않는 결과 집합만 자동으로 매핑합니다. FULL은 임의로 복잡한 결과 세트(중첩 여부와 상관없이)를 자동으로 매핑합니다. NONE, PARTIAL, FULL PARTIAL
defaultExecutorType 기본 실행기를 구성합니다. SIMPLE은 일반 실행기입니다. REUSE 실행기는 준비된 명령문을 재사용하고 BATCH 실행기는 명령문을 재사용하고 일괄 업데이트를 수행합니다. SIMPLE REUSE BATCH SIMPLE
defaultStatementTimeout 드라이버가 데이터베이스 응답을 기다리는 시간(초)을 결정하는 제한 시간을 설정하세요. 양수 integer 설정되지 않음(null)
defaultFetchSize 드라이버에 return 결과에 대한 가져오기 크기를 제어하는 ​​힌트를 설정합니다. 이 매개변수 값은 쿼리 설정으로 재정의될 수 있습니다. 양의 정수 Not Set (null)
중첩된 문에서 페이징(RowBounds)을 허용합니다. true | false False
자동 카멜 케이스 명명 규칙(카멜 케이스) 매핑, 즉 클래식 데이터베이스 열 이름 A_COLUMN에서 클래식 Java 속성 이름으로의 유사한 매핑을 설정할지 여부 aColumn. true | false False
MyBatis는 순환 참조를 방지하고 반복 중첩 쿼리 속도를 높이기 위해 로컬 캐시 메커니즘을 사용합니다. 기본값은 이며, 이 경우 세션 내에서 실행된 모든 쿼리가 캐시됩니다. STATEMENT로 설정하면 로컬 세션은 명령문 실행에만 사용되며 동일한 SqlSession에 대한 다른 호출은 데이터를 공유하지 않습니다. SESSION | STATEMENT SESSION
매개변수에 특정 JDBC 유형이 제공되지 않은 경우 null에 대한 JDBC 유형을 지정합니다. 일부 드라이버는 열의 JDBC 유형을 지정해야 합니다. 대부분의 경우 NULL, VARCHAR 또는 OTHER와 같은 일반 유형을 사용합니다. JdbcType 열거형. 가장 일반적인 열거형은 NULL, VARCHAR 및 OTHER OTHER
지연 로드를 트리거하는 개체 메서드를 지정합니다. 쉼표로 구분된 메소드 이름 목록 equals,clone,hashCode,toString
동적 SQL 생성을 위한 기본 언어를 지정합니다. 유형 별칭 또는 정규화된 클래스 이름. org.apache.ibatis.scripting.xmltags.XMLDynamicLanguageDriver
결과 집합의 값이 null인 경우 지도 개체의 setter를 호출할지 여부를 지정합니다. (Map.keySet() 종속성 또는 null 값 초기화가 있을 때 유용한 지도 객체(put) 메서드인 경우. 기본 유형(int, boolean 등)은 null로 설정할 수 없습니다. true | false false
MyBatis가 로그 이름에 추가하는 접두사를 지정합니다. Any String Not set
MyBatis에서 사용하는 로그의 특정 구현을 지정하지 않으면 자동으로 검색됩니다. SLF4J | LOG4J2 | JDK_LOGGING | STDOUT_LOGGING | NO_LOGGING 설정되지 않음
실제 애플리케이션에서는 필요에 따라 구성해야 합니다.


예를 들어 프로젝트의 구성은 일반적으로 다음과 같습니다.

<settings>

<setting name="jdbcTypeForNull" value="NULL" />

<setting name="logImpl" value="SLF4J" />

<setting name="mapUnderscoreToCamelCase" value="true" />

<setting name="defaultExecutorType" value="BATCH" />

</settings>

참고: 특정 구성의 log4j 로그가 sql 문을 인쇄할 수 없는 경우 log4j 구성 파일을 확인해야 할 뿐만 아니라 특히 중요한 점은 4a6ff4e2577094726b1075a3a727ee78 구성은 다음과 같은 구성을 지정해야 합니다(LOG4J가 사용되는 경우): 024d4f4812efab7795789f73254bed1e

<configuration> 
 <settings> 
 <setting name="logImpl" value="LOG4J"/> 
 </settings> 
</configuration>

위 내용은 Java mybatis의 설정 구성 예에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.