mybatis 之别名

2022年7月11日12:17:43

在mybatis的映射文件里,引用类有三种方式:

一、mapper映射文件里写类加包的全名

<select id="getPlatformInvestInfo" parameterType="map" resultType="com.duanrong.cps.business.bsy.model.InvestByBsy">select *from investwhere id=#{id}
</select>

此方法缺点在于每次都写类的连包全名比较麻烦

二、配置文件里 用标签别名

<!-- 1、typeAlias:为某个java类型起别名
    type:指定要起别名的类型全类名;默认别名就是类名小写;investByBsy
    alias:指定新的别名
    typeAliases:别名处理器:可以为我们的java类型起别名 
            别名不区分大小写
 --><typeAliases><typeAliasalias="investByBsy"type="com.duanrong.cps.business.bsy.model.InvestByBsy"/></<typeAliases>
<select id="getPlatformInvestInfo" parameterType="map" resultType="investByBsy">select *from investwhere id=#{id}
</select>

这种方法在使用的类比较的多的时候,写起来也是很麻烦

三、批量起别名,package为某个包下的所有类起别名,name为包名,当前包以下面的每一个子包里的类都起一个默认别名(类名小写)

<typeAliases><packagename="com.duanrong.cps.business.bsy.model"/></<typeAliases>

此方法如果定义的子包里类有重名的,则会报错,所以此时可以使有@ alias注解来标记别名。则在要起别名的bean上用@alias标签指定别名。

四、mybatis已经定义好的别名

1.八种基本数据类型:byte, int, float, double, short, long , char , boolean , 对应的别名为下下划线+基本数据类型名称如:_byte.
2.引用类型: Byte, Integer, Float, Double, Short, Long, String Boolea , Date, BigDecimal, Object 对应的别名为引用类型小写
3.其它类型: Map, List, HashMap, ArrayList ,collection, Iterator, 这些对应的别名均为小写形式。如:map, hashmap
eg:

<select id="getPlatformInvestInfo" parameterType="map" resultType="investByBsy">select *from investwhere id=#{id}
</select>

此处所用的map 则为mybatis所定义好的默认别名

  • 作者:maying0124
  • 原文链接:https://blog.csdn.net/maying0124/article/details/81565220
    更新时间:2022年7月11日12:17:43 ,共 1240 字。