> Java > java지도 시간 > 본문

SpringBoot 기반 Mybatis를 로드하는 TypeAlias ​​문제를 해결하는 방법

WBOY
풀어 주다: 2023-05-25 16:01:06
앞으로
1010명이 탐색했습니다.

SpringBoot는 Mybatis의 TypeAlias를 로드합니다

springboot를 jar로 컴파일한 후 Linux에서 실행하면 유형 별칭에 해당하는 엔터티 클래스를 찾을 수 없다고 보고됩니다. 이는 springboot 패키지 스캐닝의 문제입니다.

Mybatis의 DefaultVFS는 프로젝트에서 기본적으로 스캔에 사용됩니다. 그러나 springboot 환경에서는 Mybatis의 DefaultVFS가 패키지를 스캔할 때 문제를 일으키므로 VFS를 명확하게 하기 위해

직접 붙여넣기만 하면 됩니다. 코드 :

@Bean
    public SqlSessionFactory sqlSessionFactoryBean() throws Exception {
        logger.info("load SpringBootVFS");
        //DefaultVFS在获取jar上存在问题,使用springboot只能修改
        VFS.addImplClass(SpringBootVFS.class);
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dataSource());
        PathMatchingResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
        Resource[] resources1 = resolver.getResources("classpath*:/mybatis/*.xml");
        Resource[] resources2 = resolver.getResources("classpath*:/mysql/mapper/*.xml");
        Resource[] resources = (Resource[]) ArrayUtils.addAll(resources1,resources2);
        sqlSessionFactoryBean.setMapperLocations(resources);
        sqlSessionFactoryBean.setTypeAliasesPackage("com.xxx.xx.entity");
        return sqlSessionFactoryBean.getObject();
    }
로그인 후 복사

springboot 패키지 시작시 mybatis의 typeAlias ​​클래스명을 찾을 수 없다는 오류가 뜹니다

springBoot 프로젝트는 IDEA에서는 정상적으로 실행되나 패키징 후 실행 후 오류가 발생하는 정도입니다. mybatis가 Mapper.xml을 구문 분석할 때 해당 typeAlias는 XX 클래스를 찾을 수 없습니다

Mapper의 태그:

<select parameterType="XXClass" resultMap="XXMap">
로그인 후 복사

이러한 작성 방법은 IDEA에서 실행하는 데 문제가 없지만 패키징에 문제가 있습니다

올바른 작성 방법:

<select parameterType="cn.test.xxx.XXClass" resultMap="XXMap">
로그인 후 복사

코드의 매개변수 유형은 전체 경로를 사용해야 합니다. 그렇지 않으면 오류가 발생합니다.

위 내용은 SpringBoot 기반 Mybatis를 로드하는 TypeAlias ​​문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿