Ibatis parameterClass與resultClass支持的Type

可以在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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章