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