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 |
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
