Mybatis之typeAlias配置的3种方式小结

 更新时间:2022年01月17日 15:19:39   作者:如果屈原会编程  
这篇文章主要介绍了Mybatis之typeAlias配置的3种方式小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Mybatis typeAlias配置

1.定义别名

<typeAliases>
     <typeAlias alias="User" type="cn.lxc.vo.User" />
</typeAliases>

2.扫描包方式

<typeAliases>
     <package name="cn.lxc.vo" />
</typeAliases>

3.注解方式

package cn.lxc.vo;
import org.apache.ibatis.type.Alias;
@Alias("User")
public class User {
    private int id;
    private String name;
    private int age;
    
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

springboot加载mybatis的typeAlias问题

springboot打成jar之后再linux上运行会报找不到 type alias 对应的实体类的问题,这是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优雅地实现全局异常处理的方法详解

    SpringBoot优雅地实现全局异常处理的方法详解

    这篇文章主要为大家详细介绍了SpringBoot如何优雅地实现全局异常处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-08-08
  • Java实现自动压缩文件并加密的方法示例

    Java实现自动压缩文件并加密的方法示例

    这篇文章主要介绍了Java实现自动压缩文件并加密的方法,涉及java针对文件进行zip压缩并加密的相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • Spring缓存注解@Cacheable @CacheEvit @CachePut使用介绍

    Spring缓存注解@Cacheable @CacheEvit @CachePut使用介绍

    Spring在3.1版本,就提供了一条基于注解的缓存策略,实际使用起来还是很丝滑的,本文将针对几个常用的注解进行简单的介绍说明,有需要的小伙伴可以尝试一下
    2021-07-07
  • 详谈@Autowired和static的关系

    详谈@Autowired和static的关系

    这篇文章主要介绍了@Autowired和static的关系,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • java  interface 接口的使用好处分析

    java interface 接口的使用好处分析

    这篇文章主要介绍了java interface 接口的使用好处,结合实例形式分析了java interface接口的功能、基本使用方法及多态性的使用优点,需要的朋友可以参考下
    2019-11-11
  • 详解Java 微服务架构

    详解Java 微服务架构

    这篇文章主要介绍了Java 微服务架构的相关资料,帮助大家更好的理解和使用Java,感兴趣的朋友可以了解下
    2021-02-02
  • Java之遍历枚举值问题

    Java之遍历枚举值问题

    这篇文章主要介绍了Java之遍历枚举值问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 深入理解java long 存储时间戳

    深入理解java long 存储时间戳

    存储时间打算用时间戳来存储,打算用long类型来代表时间戳,这篇文章主要介绍了深入理解java long 存储时间戳,非常具有实用价值,需要的朋友可以参考下
    2018-10-10
  • spring cloud eureka 服务启动失败的原因分析及解决方法

    spring cloud eureka 服务启动失败的原因分析及解决方法

    这篇文章主要介绍了spring cloud eureka 服务启动失败的原因解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • SpringBoot集成selenium实现自动化测试的代码工程

    SpringBoot集成selenium实现自动化测试的代码工程

    Selenium 是支持web 浏览器自动化的一系列工具和[库] 它提供了扩展来模拟用户与浏览器的交互,用于扩展浏览器分配的分发,本文给大家介绍了SpringBoot集成selenium实现自动化测试的代码工程,需要的朋友可以参考下
    2024-08-08

最新评论