Mybatis 실전 의 TypeHandler 고급 진급
3036 단어 mybatistypehandler
사고 분석.
실전
SqlSessionFactoryBean
우리 프로젝트 는 Spring 을 사 용 했 기 때문에 Spring 로 통합 한 Mybatis 입 니 다.Spring 은 SqlSession Factory Bean 을 통 해 Mybatis 를 초기 화 합 니 다.그래서 우 리 는 그것 에 손 을 써 야 하지만,모든 것 이 그리 순 조 롭 지 않다.
Sql Session Factory Bean 의 소스 코드 를 살 펴 보 니 SqlSession Factory Bean 은 우리 가 들 어 갈 수 있 는 곳 이 없 는 것 을 발견 하고 TypeHandler Registry 를 호출 하여 우리 의 매 거 진 을 등록 할 수 있 습 니 다.더욱 안 타 까 운 것 은 모든 속성 이 private 라 는 것 이다.이 제 는 AOP 가 들 어 갈 수 없 을 뿐만 아니 라 계승 을 통 해 게 으 름 을 피 울 수도 없다.
그만 두 자,우 리 는 Sql Session Factory Bean 의 코드 를 성실 하 게 다시 한 번 쓸 수 밖 에 없다.
DefaultSqlSessionFactoryBean
코드 의 양 이 비교적 많아 서 핵심 코드 만 붙 였 다.절 차 는 다음 과 같다.
DefaultSqlSession Factory Bean 계승 SqlSession Factory Bean.
상기 코드 는 이 코드 전에 실행 해 야 한 다 는 것 을 명심 하 세 요.
xml Mapper Builder.parse()방법 은 모든 mapper.xml 설정 파일 을 분석 하기 시 작 했 습 니 다.이 때 resultMap 도 해석 하여 사용자 정의 TypeHandler 가 적용 되 지 않 습 니 다.
명심 하 세 요!명심 하 다
마지막.
이상,코드 는 완 공 된 셈 입 니 다.Spring 설정 파일 에서 SqlSession Factory Bean 을 우리 의 DefaultSqlSession Factory Bean 으로 바 꾸 는 것 을 기억 하 십시오.그렇지 않 으 면 우리 의 일 은 헛수고 가 될 것 이다.
이제 파 도 를 시작 할 수 있 습 니 다.그 전에 우 리 는 이렇게 써 야 합 니 다.
<resultMap>
...
<result column="status" jdbcType="TINYINT" property="status" typeHandler="xxx.xxx.EnumTypeHandler" />
...
</resultMap>
이제 우 리 는 type:Handler 를 쓰 지 않 아 도 된다.
<resultMap>
...
<result column="status" jdbcType="TINYINT" property="status" />
...
</resultMap>
이상 은 본 고의 모든 내용 입 니 다.본 고의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.또한 저 희 를 많이 지지 해 주시 기 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
MySQL/마이바티스 | 동적 쿼리 사용A라는 서비스에 해당하는 테이블을 조인하고 조회하는 데 사용됩니다. 나중에 공통화를 위해 B 및 C 서비스도 추가됩니다. A, B, C 서비스는 모두 단일 쿼리에서 작동할 수 있도록 공통화되어야 합니다. 테이블에 각...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.