java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > mybatis resultType自带数据类型别名

mybatis resultType自带数据类型别名解读

作者:Coder-文小白

MyBatis为了简化开发,通过org.apache.ibatis.type.TypeAliasRegistry为常见类定义了别名,这些别名包括基本数据类型及其数组、集合类型等,如string对应java.lang.String,int对应java.lang.Integer等,此外,还有特殊前缀的别名如_int对应int类型

mybatis resultType自带数据类型别名

为了简化开发,mybatis 默认在 org.apache.ibatis.type.TypeAliasRegistry 中为我们

定义了一些常见类的别名

public TypeAliasRegistry() {
    registerAlias("string", String.class);

    registerAlias("byte", Byte.class);
    registerAlias("long", Long.class);
    registerAlias("short", Short.class);
    registerAlias("int", Integer.class);
    registerAlias("integer", Integer.class);
    registerAlias("double", Double.class);
    registerAlias("float", Float.class);
    registerAlias("boolean", Boolean.class);

    registerAlias("byte[]", Byte[].class);
    registerAlias("long[]", Long[].class);
    registerAlias("short[]", Short[].class);
    registerAlias("int[]", Integer[].class);
    registerAlias("integer[]", Integer[].class);
    registerAlias("double[]", Double[].class);
    registerAlias("float[]", Float[].class);
    registerAlias("boolean[]", Boolean[].class);

    registerAlias("_byte", byte.class);
    registerAlias("_long", long.class);
    registerAlias("_short", short.class);
    registerAlias("_int", int.class);
    registerAlias("_integer", int.class);
    registerAlias("_double", double.class);
    registerAlias("_float", float.class);
    registerAlias("_boolean", boolean.class);

    registerAlias("_byte[]", byte[].class);
    registerAlias("_long[]", long[].class);
    registerAlias("_short[]", short[].class);
    registerAlias("_int[]", int[].class);
    registerAlias("_integer[]", int[].class);
    registerAlias("_double[]", double[].class);
    registerAlias("_float[]", float[].class);
    registerAlias("_boolean[]", boolean[].class);

    registerAlias("date", Date.class);
    registerAlias("decimal", BigDecimal.class);
    registerAlias("bigdecimal", BigDecimal.class);
    registerAlias("biginteger", BigInteger.class);
    registerAlias("object", Object.class);

    registerAlias("date[]", Date[].class);
    registerAlias("decimal[]", BigDecimal[].class);
    registerAlias("bigdecimal[]", BigDecimal[].class);
    registerAlias("biginteger[]", BigInteger[].class);
    registerAlias("object[]", Object[].class);

    registerAlias("map", Map.class);
    registerAlias("hashmap", HashMap.class);
    registerAlias("list", List.class);
    registerAlias("arraylist", ArrayList.class);
    registerAlias("collection", Collection.class);
    registerAlias("iterator", Iterator.class);

    registerAlias("ResultSet", ResultSet.class);
  }

整理成表格

别名映射类型
stringjava.lang.String
bytejava.lang.Byte
longjava.lang.Long
shortjava.lang.Short
intjava.lang.Integer
integerjava.lang.Integer
doublejava.lang.Double
floatjava.lang.Float
booleanjava.lang.Boolean
byte[]java.lang.Byte[]
long[]java.lang.Long[]
short[]java.lang.Short[]
int[]java.lang.Integer[]
integer[]java.lang.Integer[]
double[]java.lang.Double[]
float[]java.lang.Float[]
boolean[]java.lang.Boolean[]
_bytebyte
_longlong
_shortshort
_intint
_integerint
_doubledouble
_floatfloat
_booleanboolean
_byte[]byte[]
_long[]long[]
_short[]short[]
_int[]int[]
_integer[]int[]
_double[]double[]
_float[]float[]
_boolean[]boolean[]
datejava.util.Date
decimaljava.math.BigDecimal
bigdecimaljava.math.BigDecimal
bigintegerjava.math.BigInteger
objectjava.lang.Object
date[]java.util.Date[]
decimal[]java.math.BigDecimal[]
bigdecimal[]java.math.BigDecimal[]
biginteger[]java.math.BigInteger[]
object[]java.lang.Object[]
mapjava.util.Map
hashmapjava.util.HashMap
listjava.util.List
arraylistjava.util.ArrayList
collectionjava.util.Collection
iteratorjava.util.Iterator
ResultSetjava.sql.ResultSet

总结

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

您可能感兴趣的文章:
阅读全文