mybatis resultType自帶數(shù)據(jù)類型別名解讀
更新時間:2024年10月19日 15:54:48 作者:Coder-文小白
MyBatis為了簡化開發(fā),通過org.apache.ibatis.type.TypeAliasRegistry為常見類定義了別名,這些別名包括基本數(shù)據(jù)類型及其數(shù)組、集合類型等,如string對應java.lang.String,int對應java.lang.Integer等,此外,還有特殊前綴的別名如_int對應int類型
mybatis resultType自帶數(shù)據(jù)類型別名
為了簡化開發(fā),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 |
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Java搭建簡單Netty開發(fā)環(huán)境入門教程
這篇文章主要介紹了Java搭建簡單Netty開發(fā)環(huán)境入門教程,有詳細的代碼展示和maven依賴,能夠幫助你快速上手Netty開發(fā)框架,需要的朋友可以參考下2021-06-06
java并發(fā)編程專題(五)----詳解(JUC)ReentrantLock
這篇文章主要介紹了java(JUC)ReentrantLock的的相關資料,文中講解非常詳細,實例代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下2020-07-07
Java中l(wèi)ombok的@Builder注解的解析與簡單使用詳解
這篇文章主要介紹了Java中l(wèi)ombok的@Builder注解的解析與簡單使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-01-01
在VSCode里使用Jupyter?Notebook調(diào)試Java代碼的詳細過程
Jupyter Notebook是以網(wǎng)頁的形式打開,可以在網(wǎng)頁頁面中直接編寫代碼和運行代碼,代碼的運行結(jié)果也會直接在代碼塊下顯示的程序,這篇文章主要介紹了在VSCode里使用Jupyter?Notebook,調(diào)試Java代碼,需要的朋友可以參考下2022-07-07

