MyBatis typeAliases元素标签(含注解方式)及其属性、

编辑: admin 分类: java 发布时间: 2021-12-03 来源:互联网
目录
  • typeAliases元素标签及其属性、设置
    • 简介
    • 通过单个定义别名的方式
    • 通过包扫描的方式
    • 采用注解的方式
    • 常见的 Java 类型内建的相应的类型别名
  • typeAliases和package标签的用法

    typeAliases元素标签及其属性、设置

    个人建议还是采用全类名的方式,这样可以很轻松的看到该类的所有方法等,比较方便直观;这样不过也有缺点,不利于维护等。

    简介

    typeAliases:别名处理器,可以为java类型(resultType)起别名。类型别名是为 Java 类型设置一个短的名字。它只和 XML 配置有关,存在的意义仅在于用来减少类完全限定名的冗余。

    注意:在不指定别名情况下,别名默认就是类名小写。某些情况下别名不区分大小写。

    通过单个定义别名的方式

    语法

    <typeAliases>
    <!--
        alias:定义的别名
        type:指定要起别名的类型全类名
        默认别名就是类名小写
    -->
      <typeAlias alias="别名" type="指定要起别名的类型全类名"/>
     
    </typeAliases>

    例如

    <typeAliases>
    <!--
        alias:定义的别名
        type:指定要起别名的类型全类名
        默认别名就是类名小写
    -->
      <typeAlias alias="Author" type="domain.blog.Author"/>
      <typeAlias alias="Blog" type="domain.blog.Blog"/>
      <typeAlias alias="Comment" type="domain.blog.Comment"/>
      <typeAlias alias="Post" type="domain.blog.Post"/>
      <typeAlias alias="Section" type="domain.blog.Section"/>
      <typeAlias alias="Tag" type="domain.blog.Tag"/>
    </typeAliases>

    当这样配置时,Blog可以用在任何使用domain.blog.Blog的地方。

    通过包扫描的方式

    该方式将扫描该包下的所有类,默认为类名的小写。

    注意:若该包下面还用子包,并且子包与该包有相同的类名,则需要为其中一个类进行注解,否则将会报错(冲突),因为mybatis不知道是哪个包,必须明确的指明才可以。

    语法

    <typeAliases>
      <package name="包名"/>
    </typeAliases>

    例如

    <typeAliases>
      <package name="domain.blog"/>
    </typeAliases>

    采用注解的方式

    每一个在包 domain.blog 中的 Java Bean,在没有注解的情况下,会使用 Bean 的首字母小写的非限定类名来作为它的别名。 比如 domain.blog.Author 的别名为 author;若有注解,则别名为其注解值。

    例子:

    @Alias("author")
    public class Author {
        ...
    }

    常见的 Java 类型内建的相应的类型别名

    它们都是大小写不敏感的,需要注意的是由基本类型名称重复导致的特殊处理。

    别名 映射的类型 _byte byte _long long _short short _int int _integer int _double double _float float _boolean boolean string String byte Byte long Long short Short int Integer integer Integer double Double float Float boolean Boolean date Date decimal BigDecimal bigdecimal BigDecimal object Object map Map hashmap HashMap list List arraylist ArrayList collection Collection iterator Iterator

    typeAliases和package标签的用法

     <typeAliases>
            <!--用于指定别名-->
            <!--<typeAlias type="com.wance.entity.Person" alias="Person"/>-->
            <!--用于指定注册别名的包,当指定后,该包下的实体类都会注册别名,并且类名就是别名,-->
            <!--不再区分大小写-->
            <package name="com.wance.entity"/>
        </typeAliases>
    

    以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

    【来源:自由互联、韩国大带宽服务器http://www.558idc.com/lg.html】