ibatis 프로시저 호출 예제

이러한 문은 resultType 특성에 의해 지정된 대로 모든 열이 HashMap의 키에 자동으로 매핑됩니다. 대부분의 경우 유용하지만 HashMap은 좋은 도메인 모델을 만들지 않습니다. 응용 프로그램에서 도메인 모델에 JavaBeans 또는 POJ(일반 이전 Java 개체)를 사용할 가능성이 높습니다. MyBatis는 둘 다 지원합니다. 다음 JavaBean: 마지막으로 모드 특성을 사용하면 IN, OUT 또는 INOUT 매개 변수를 지정할 수 있습니다. 매개 변수가 OUT 또는 INOUT인 경우 출력 매개 변수를 호출할 때 예상대로 매개 변수 개체 속성의 실제 값이 변경됩니다. 모드=OUT(또는 INOUT) 및 jdbcType=CURSOR(예: Oracle REFCURSOR)인 경우 결과 집합을 매개 변수 유형에 매핑하도록 resultMap을 지정해야 합니다. javaType 특성은 여기에서 선택 사항이며, jdbcType으로 CURSOR가 공백으로 남아 있으면 ResultSet으로 자동으로 설정됩니다. 프로시저가 결과 집합을 반환하지 않거나 결과 집합만 OUT 매개 변수로 반환하는 경우 update() 메서드를 사용합니다. 이것이 기본값이므로 분명히 그런 식으로 문을 명시적으로 구성해서는 안됩니다. 대신 기본 동작을 변경하려는 경우 flushCache 및 useCache 특성만 설정합니다. 예를 들어 경우에 따라 특정 select 문의 결과를 캐시에서 제외하거나 선택 문이 캐시를 플러시하도록 할 수 있습니다.

마찬가지로 실행 시 캐시를 플러시할 필요가 없는 일부 업데이트 문이 있을 수 있습니다. 이러한 경우 MyBatis는 이름 에 따라 JavaBean 속성에 열을 자동으로 매핑하는 백그라운드에서 ResultMap을 자동으로 만듭니다. 열 이름이 정확히 일치하지 않으면 열 이름에 select 절 별칭(표준 SQL 기능)을 사용하여 레이블을 일치시킬 수 있습니다. 예: TypeAliases는 친구라는 것을 기억하십시오. 클래스의 정규화된 경로를 계속 입력할 필요가 없도록 사용합니다. 예: 참고! 항상 표준 JDBC 저장 프로시저 구문을 사용해야 합니다. 자세한 내용은 JDBC CallableStatement 문서를 참조하십시오. 3.4.2 이후 MyBatis는 모든 속성을 설정한 후 초기화 메서드를 호출하도록 지원되었습니다. 이 기능을 사용하려면 사용자 지정 캐시 클래스에 org.apache.ibatis.builder.builder.InitializingObject 인터페이스를 구현하십시오.

MyBatis는 구조체와 같은 고급 데이터 형식도 지원하지만 out 매개 변수를 등록할 때 문에게 형식 이름을 알려야 합니다. 예를 들어(다시 말하지만 실제로는 이와 같은 줄을 중단하지 마십시오): 생성자에 결과를 삽입하려면 MyBatis가 어떻게든 생성자식별을 해야 합니다. 다음 예제에서 MyBatis는 java.lang.Integer, java.lang.String 및 int의 세 가지 매개 변수로 선언된 생성자 순서를 검색합니다.

Comments

Comments are closed.