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); }
整理成表格
别名 | 映射类型 |
---|---|
string | java.lang.String |
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 |
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[] |
_byte | byte |
_long | long |
_short | short |
_int | int |
_integer | int |
_double | double |
_float | float |
_boolean | boolean |
_byte[] | byte[] |
_long[] | long[] |
_short[] | short[] |
_int[] | int[] |
_integer[] | int[] |
_double[] | double[] |
_float[] | float[] |
_boolean[] | boolean[] |
date | java.util.Date |
decimal | java.math.BigDecimal |
bigdecimal | java.math.BigDecimal |
biginteger | java.math.BigInteger |
object | java.lang.Object |
date[] | java.util.Date[] |
decimal[] | java.math.BigDecimal[] |
bigdecimal[] | java.math.BigDecimal[] |
biginteger[] | java.math.BigInteger[] |
object[] | java.lang.Object[] |
map | java.util.Map |
hashmap | java.util.HashMap |
list | java.util.List |
arraylist | java.util.ArrayList |
collection | java.util.Collection |
iterator | java.util.Iterator |
ResultSet | java.sql.ResultSet |
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。