Rumah > Java > javaTutorial > Bagaimana untuk menyelesaikan masalah TypeAlias ​​memuatkan Mybatis berdasarkan SpringBoot

Bagaimana untuk menyelesaikan masalah TypeAlias ​​memuatkan Mybatis berdasarkan SpringBoot

WBOY
Lepaskan: 2023-05-25 16:01:06
ke hadapan
1018 orang telah melayarinya

SpringBoot memuatkan Mybatis's TypeAlias

Selepas springboot disusun ke dalam balang dan kemudian dijalankan pada Linux, ia akan melaporkan bahawa kelas entiti yang sepadan dengan alias jenis tidak dapat ditemui. Ini adalah masalah dengan pengimbasan pakej springboot.

Projek menggunakan Mybatis’ DefaultVFS untuk mengimbas secara lalai Namun, dalam persekitaran springboot, Mybatis’ DefaultVFS akan menyebabkan masalah semasa mengimbas pakej, jadi VFS hanya boleh diubah suai untuk kejelasan

Secara langsung. tampal kod:

@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();
    }
Salin selepas log masuk

Apabila springboot dibungkus dan dimulakan, ralat bahawa nama kelas typeAlias ​​mybatis tidak dapat ditemui

Projek springBoot berjalan seperti biasa pada IDEA tetapi ralat berlaku selepas pembungkusan. Ralat secara kasarnya ialah mybatis menghuraikan Mapper Apabila menggunakan xml, typeAlias ​​​​tidak dapat mencari kelas XX

Teg dalam Mapper:

<select parameterType="XXClass" resultMap="XXMap">
Salin selepas log masuk

Cara penulisan ini berjalan dengan baik dalam IDEA tetapi mempunyai masalah dengan pembungkusan

Cara penulisan yang betul:

<select parameterType="cn.test.xxx.XXClass" resultMap="XXMap">
Salin selepas log masuk

ParameterType dalam kod mesti menggunakan laluan penuh, jika tidak ralat akan berlaku.

Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah TypeAlias ​​memuatkan Mybatis berdasarkan SpringBoot. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan