mybatis.type-aliases-package的作用及用法说明

mybatis.type-aliases-package的用法说明

在mapper.xml文件中的resultMap的type或者parameterType会用到自定义的POJO。

例如:


    
    
    
    
        insert into user(username,password) value (#{username},#{password})
    

其中resultType=“User”中,User就是自定义的POJO,此时可以使用完全限定名来指定这些POJO的引用,例如:


     SELECT T.* FROM student T

我们需要查询student表中所有学生的信息,定义了一个实体类student来映射表中所有的学生信息,把类的权限定类名放在resultType标签中即可,mybatis底层在返回数据库信息的时候,会根据Class.forName(“cn.wideth.entity.domain.Student”)去生成对象实例;

mybatis.type-aliases-package的作用及用法说明_第1张图片

如果我们想在resultType标签中仅仅使用类名Student可不可以呢

   

这样也是可以的,只是需要在yml配置文件中提前进行配置

mybatis:
  config-location: classpath:mybatis/mybatis-config.xml
  mapper-locations: classpath:mybatis/mapper/*.xml
  type-aliases-package: cn.wideth.entity

mybatis.type-aliases-package的作用及用法说明_第2张图片

这样也是可以的,springboot在启动的时候,会加载cn.wideth.entity包以及子包下所有的实体类,进行初始化操作。但是不同子包下面不可以存在同名的实体类。

mybatis.type-aliases-package的作用及用法说明_第3张图片

子包下面存在同名实体类,结果报错了。

小结一下:尽量去使用实体类的全限定类名,这样会减少程序出现问题。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(mybatis.type-aliases-package的作用及用法说明)