my batis 의 별명 사용 에 대하 여

4472 단어 springBoot
my batis 의 xml 파일 을 사용 하여 sql 문 구 를 쓰 고 어떻게 간편 하 게 쓰 는 지 생각 합 니 다.이 를 사용 하 는 과정 에서 많은 문제 가 발생 했 습 니 다.다음 에 더 잘 기억 하기 위해 간단 한 정 리 를 하고 보충 을 환영 합 니 다.
비교적 원시 적 인 방법 은 xml 에서 정 의 된 것 입 니 다.

    
    
    
    
    
    
    
    
    
    

이것 은 결과 집합 으로 실체 클래스 의 필드 와 일일이 대응 합 니 다.우리 가 결 과 를 되 돌려 야 할 때 결과 가 집 중 된 ID 를 직접 사용 할 수 있 습 니 다.예 를 들 어:

여기 서 resultMap 은 결과 에 집 중 된 id 에 대응 하 는데 이러한 장점 은 직관 적 이 고 실체 류 와 일치 하 며 자신의 취향 에 따라 별명 을 사용 할 수 있 습 니 다.
parameterType="pd"와 같이 여기 pd 는 사실 별명 입 니 다.그러면 별명 을 어떻게 설정 합 니까?
우선,하나의 클래스 를 정의 합 니 다.(여기 서 정 의 된 클래스 는 매개 변 수 를 받 아들 이 는 map 사용자 정의 클래스 입 니 다)이것 은 자신의 수요 에 따라 정의 할 수 있 습 니 다.여기 서 별명 주해 만 소개 합 니 다.
@Alias(value="pd")

그렇다면 정 의 된 클래스 에 주 해 를 달 면 사용 할 수 있 지 않 을 까?답 은 부정 적 입 니 다.아직 이 별명 pd 를 검색 할 수 없 기 때문에 설정 이 필요 합 니 다.여기 서 아 는 몇 가지 방법 을 말씀 드 리 겠 습 니 다.물론 보충 도 환영 합 니 다.
1.프로그램 을 시작 할 때 사용자 정의 mybatis 설정 클래스 를 불 러 오고 데이터베이스 연결,페이지 조회,사무 제어 등 을 설정 할 수 있 습 니 다.
//     
		PageHelper pageHelper = new PageHelper();
		Properties properties = new Properties();
		properties.setProperty("dialect", "mysql");
		properties.setProperty("offsetAsPageNum", "false");
		properties.setProperty("rowBoundsWithCount", "false");
		properties.setProperty("pageSizeZero", "true");

		properties.setProperty("reasonable", "false");
		properties.setProperty("supportMethodsArguments", "false");
		properties.setProperty("returnPageInfo", "none");
		pageHelper.setProperties(properties);
		sessionFactory.setPlugins(new Interceptor[] { pageHelper });

		//   xml  
		ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
		 
      
 sessionFactory.setMapperLocations(resolver.getResources("classpath:mybatis/*/*.xml"));
		//        
		sessionFactory.setTypeAliasesPackage("com.page");

사용자 정의 클래스 에 주 해 를 붙 여야 합 니 다:
@Configuration

설정 후 xml 에서 별명 pd 를 사용 할 수 있 습 니 다.예 를 들 어 결과 resultType(resultMap 이 아 닌 type 임 을 기억 하 세 요)은 resultType="pd"이 고 항목 을 시작 하면 사용 할 수 있 습 니 다.
2.두 번 째 는 yml 프로필 에서 이 속성 을 설정 하 는 것 입 니 다.
mybatis-plus:
  mapper-locations: classpath*:mapper/*.xml
  type-aliases-package : com.page
  configuration:
    call-setters-on-nulls: true

이곳 의 필드 는 기본적으로 위의 프로 그래 밍 속성 과 대응 된다.
3.또 하 나 는 xml 프로필 방식 입 니 다.이런 방식 은 현재 거의 사용 되 지 않 습 니 다.


    

이상 은 취향 에 따라 사용 할 수 있 으 며 보충 설명 도 환영 합 니 다.
보충:
최근 프로젝트 에서@param 주 해 를 사용 하 는 맵 을 만 났 습 니 다.
long selectCount(@Param("wheres") Map wheres);

이것 은 xml 에서 이렇게 사용 합 니 다.

@param 주 해 를 사용 하지 않 으 면 바로 가 져 올 수 있 습 니 다:

처음에는 정말 익숙 하지 않 았 습 니 다.쓸데없는 짓 을 하 는 것 같 았 습 니 다.하지만 누가 다시 쓰 면 설명 에 일리 가 있 습 니 다.보충 설명 을 환영 합 니 다.

좋은 웹페이지 즐겨찾기