一、前言

typeAliases是MyBatis中的别名处理器类,翻译过来就是别名的意思。别名处理器的作用就是把Java类型,给它起一个简单一点的别名,这样我们在XML文件中引入全类名的地方就可以使用别名替代。这样可以减少很多的工作量,节约开发时间。例如下面我们使用的是全类名:

<select id="findByName" parameterType="string" resultType="com.aaa.entity.User">select * from user where name like #{name}
</select>

二、案例

修改mybatis-config.xml核心配置文件

<typeAliases><!--typeAlias:某个java类型的全限定名;type:类名;alias:别名;如果类比较多,需要写很多个?怎么办?--><typeAlias type="com.aaa.entity.User" alias="user"></typeAlias>
</typeAliases>

上面的案例我们可以看到在typeAliases标签下面,可以为User类起一个别名,那么如果有很多的Java类呢,那不是下面有很多很多的<typeAlias></typeAlias>,我们是否能通过一种其他的配置实现为某一个包下面所有的类都起别名,而不用为单独的某一个类。答案是肯定的。

MyBatis为我们提供了一个package标签,可以通过这个标签实现上面的功能配置。下面我们来看看如何使用package标签:

<typeAliases><!--package,默认别名是user--><package name="com.aaa.entity"></package></typeAliases>

通过如上配置可以实现批量起别名

虽然我们可以使用package批量起别名,但是有一种情况会导致冲突,我们来模拟一下,新建一个User类,这个User类在com.queen.mybatis.bean.child目录下面,也就是bean的子包目录下面,如图:

这是别名冲突了。。。那我们现在又要如何解决这个问题呢?其实您能想到的,MyBatis都为我们想到了

A、使用@Alias注解为某个类型指定新的别名

B、修改User类文件

修改IUserDao.xml配置文件

通过上述测试我们可以得出结论:批量起别名的情况下,使用@Alias注解为某个类型指定新的别名,避免出现别名冲突报错

mybatis的typeAliases别名相关推荐

  1. parameterType 属性、typeAliases 别名

    五 parameterType 属性 在 XXXMapper.xml 中等标签的 parameterType 可以 控制参数类型 SqlSession 的 selectList()和 selectOn ...

  2. 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)

    上篇文章<深入浅出Mybatis系列(三)---配置详解之properties与environments(mybatis源码篇)> 介绍了properties与environments, ...

  3. Mybatis Mapper动态代理方式 typeAliases 别名的使用

    目录结构及配置文件与原始dao方法相比更简便 只需一个UserMapper的接口,放在一起的配置文件,配置文件中namespace的地址确定jdk动态代理的对象 <?xml version=&q ...

  4. SMM学习22:MyBatis配置文件起别名typeAliases

     目录 创建数据库 连接数据库 导入坐标pom.xml 编写mybatis.xml配置文件 编写日志配置文件 编写sql映射文件UserMapper.xml 创建UserMapper接口 创建pojo ...

  5. mybatis 配置之 typeAliases 别名配置元素设置

    一.方式一:使用typeAlias  <typeAliases><typeAlias alias="User" type="com.**.entity. ...

  6. 三 mybatis typeAlias(别名)使用和resultMap使用

     1.MyBatis提供的typeAlias  2.定义自定义类型的别名 定义自定义类型的别名 1.在mybatis-config.xml中增加 1 <typeAliases> 2 < ...

  7. Mybatis 基础 定义别名,属性配置

    2019独角兽企业重金招聘Python工程师标准>>> 直接上代码mybatis.xml <?xml version="1.0" encoding=&quo ...

  8. Mybatis中typeAliases的使用

    最近写接口的时候,关于返回值resultType="com.whiteme.po.User"之类的东西想来觉得有简化的方法,再看看一些代码发现果然有,于是写了这篇博客记录一下,这样 ...

  9. Mybatis中typeAliases标签和package标签

    1.typeAliases 主配置文件: <typeAliases><typeAlias type="com.itheima.domain.User" alias ...

最新文章

  1. mysql bit 和 tinyint 的区别及使用场景?
  2. 算法篇之-----滑动窗口(尺取法)
  3. DeepLabv3+:语义分割领域的新高峰
  4. 『数据库』数据库编程(概念性的东西,应用一般,甚至有点过时,用来考试)
  5. ios 图像翻转_在iOS 14中使用计算机视觉的图像差异
  6. 二阶偏微分方程组 龙格库塔法_有限单元法(Finite Element Method)实现声波方程模拟(Part 2)...
  7. java框架之SpringBoot(5)-SpringMVC的自动配置
  8. 【Python机器学习及实践】笔记
  9. 深入理解mybatis一级缓存
  10. spss和python什么区别_资深大牛:Python、R语言、SAS、SPSS优缺点比较
  11. python什么叫索引_python中索引是什么意思(一文详解其定义)
  12. android波浪线,android自定义veiw——波浪线
  13. gensim实战01——word2vec
  14. 系统中的DTO与MO
  15. 【awk】输出不同列、左对齐or右对齐
  16. JSPlumb文档翻译
  17. 电源上的sense什么意思_开关电源基本术语
  18. 风雨砥砺,岁月如歌——Angular项目组件发布概要
  19. 信息技术服务连续性管理指南
  20. Uniswap深度科普

热门文章

  1. Libra教程之:Transaction的生命周期
  2. MongoDB学习笔记(三)使用Spring Data操作MongoDB
  3. (~最新合集~)计算机网络谢希仁第七版 第二章课后答案
  4. [leetcode] 108.有序数组转换为二叉搜索树
  5. 计算机网络实验(华为eNSP模拟器)——第二章 VRP通用路由平台介绍
  6. 关于OSPF用反掩码
  7. C语言 十六进制整数字符串转十进制整数
  8. Java 判断文件夹、文件是否存在、否则创建文件夹
  9. jquery生成一个li_jquery-创建元素和添加子元素
  10. 计算机二级二叉树基础知识,2017年计算机二级公共基础知识学习教程:树与二叉树...