mybatis基本配置之别名(TypeAlias)
2016-11-23 20:03
525 查看
mybatis的基本类型别名在org.apache.ibatis.type.TypeAliasRegistry进行注册。
源代码如下:
所以我们在我们的sql文件中–myapper.xml,resultType或者parameType都可以直接中小写的相应类型,不用写完全路径。如:
源代码如下:
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); }
private final Map<String, Class<?>> TYPE_ALIASES = new HashMap<String, Class<?>>(); public void registerAlias(String alias, Class<?> value) { if (alias == null) { throw new TypeException("The parameter alias cannot be null"); } // issue #748 String key = alias.toLowerCase(Locale.ENGLISH); if (TYPE_ALIASES.containsKey(key) && TYPE_ALIASES.get(key) != null && !TYPE_ALIASES.get(key).equals(value)) { throw new TypeException("The alias '" + alias + "' is already mapped to the value '" + TYPE_ALIASES.get(key).getName() + "'."); } TYPE_ALIASES.put(key, value); }
所以我们在我们的sql文件中–myapper.xml,resultType或者parameType都可以直接中小写的相应类型,不用写完全路径。如:
<select id="countByOpenId" parameterType="string" resultType="_int"> select count(1) from wechat_user where open_id = #{openId} and is_deleted = 0 </select>
相关文章推荐
- mybatis基本配置之别名2(TypeAlias)
- mybatis的配置文件-typeAlias(别名)
- Mybatis源码之(TypeAliasRegistry)TypeAlias别名实现机制
- mybatis-TypeAliasRegistry--类型别名注册
- 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)
- JavaWeb学习笔记-mybatis-11-mybatis配置-别名typeAliases
- mybatis基本增删改查、缓存,延迟加载以及别名的配置
- 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)
- Mybatis之typeAlias配置的3种方法
- MyBatis3入门程序(02_注册别名typeAlias)
- 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)
- mybatis复习-配置文件中别名typeAliases以及mappers的作用
- mybits的mapper配置文件的resulttype需要和mybatis配置文件中alias对应
- Mybatis 全局配置文件中typeAliases(别名)
- Mybatis配置之<typeAliases>别名配置元素详述
- 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)
- Mybatis源码之(TypeAliasRegistry)TypeAlias别名实现机制
- 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)
- 深入浅出Mybatis系列(四)---配置详解之typeAliases别名(mybatis源码篇)
- Mybatis之typeAlias配置的3种方法