可以在ibatis的源碼:com.ibatis.sqlmap.engine.type.TypeHandlerFactory
中看到支持的別名類型
putTypeAlias("string",String.class.getName());
putTypeAlias("byte", Byte.class.getName());
putTypeAlias("long", Long.class.getName());
putTypeAlias("short", Short.class.getName());
putTypeAlias("int", Integer.class.getName());
putTypeAlias("integer", Integer.class.getName());
putTypeAlias("double", Double.class.getName());
putTypeAlias("float", Float.class.getName());
putTypeAlias("boolean", Boolean.class.getName());
putTypeAlias("date", Date.class.getName());
putTypeAlias("decimal",BigDecimal.class.getName());
putTypeAlias("object", Object.class.getName());
putTypeAlias("map", Map.class.getName());
putTypeAlias("hashmap", HashMap.class.getName());
putTypeAlias("list", List.class.getName());
putTypeAlias("arraylist",ArrayList.class.getName());
putTypeAlias("collection", Collection.class.getName());
putTypeAlias("iterator", Iterator.class.getName());
putTypeAlias("cursor", java.sql.ResultSet.class.getName());
在根據縮寫查找Class name的時候會全部轉換爲小寫再進行查找
即:resultClass=" string",resultClass="String"都是可以的
(1) 如果寫的是全路徑,則全路徑必須大小寫正確,例如:java.lang.string就不能識別,轉換時會報ClassCast錯誤,必須是java.lang.String
(2) resultClass中必須必須輸可以實例化的具體類,而不能輸接口,如:hashmap是可以的,而輸map就不行,因爲處理結果的時候需要先實例化resultClass,然後進行賦值
(3) parameterClass可以輸接口類,如list,map都是可以的,因爲子類可以轉換爲父類
與xml處理相關的其他類
com.ibatis.sqlmap.client.SqlMapClientBuilder.buildSqlMapClient
com.ibatis.sqlmap.engine.builder.xml.SqlMapParser.parse