• MyBatis核心配置文件之typeAliases


    一、typeAliases元素的介绍

    typeAliases元素用来定义Java类和数据库表之间的映射关系。它可以将Java类的全限定名或简单类名与数据库表的名称进行关联。当我们在MyBatis映射文件中编写SQL语句时,可以直接使用Java类的简单类名代替数据库表的名称,这样可以简化SQL语句的编写。

    二、typeAliases元素的属性

    typeAliases元素有两个属性,分别是alias和type。它们的含义如下:

    alias属性

    alias属性用来定义Java类的别名。可以使用简单类名或全限定名作为别名,当我们在映射文件中引用该Java类时,可以使用该别名代替Java类的名称。例如:

    1. <typeAliases>
    2. <typeAlias alias="User" type="com.example.User"/>
    3. </typeAliases>

    复制

    在上面的例子中,我们定义了一个名为User的别名,它代表了com.example.User类。当我们在映射文件中引用User类时,可以使用User别名代替User类的名称。

    type属性

    type属性用来指定Java类的全限定名。当我们在映射文件中引用该Java类时,需要使用该Java类的全限定名。例如:

    1. <typeAliases>
    2. <typeAlias type="com.example.User"/>
    3. </typeAliases>

    复制

    在上面的例子中,我们只指定了User类的全限定名,但没有定义别名。当我们在映射文件中引用User类时,需要使用com.example.User代替User类的名称。

    三、typeAliases元素的使用示例

    类型别名可为 Java 类型设置一个缩写名字。 它仅用于 XML 配置,意在降低冗余的全限定类名书写。例如:

    1. <typeAliases>
    2. <typeAlias alias="Author" type="domain.blog.Author"/>
    3. <typeAlias alias="Blog" type="domain.blog.Blog"/>
    4. <typeAlias alias="Comment" type="domain.blog.Comment"/>
    5. <typeAlias alias="Post" type="domain.blog.Post"/>
    6. <typeAlias alias="Section" type="domain.blog.Section"/>
    7. <typeAlias alias="Tag" type="domain.blog.Tag"/>
    8. </typeAliases>

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

    也可以指定一个包名,MyBatis 会在包名下面搜索需要的 Java Bean,比如:

    1. <typeAliases>
    2. <package name="domain.blog"/>
    3. </typeAliases>

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

    1. @Alias("author")
    2. public class Author {
    3. ...
    4. }

    下面是一些为常见的 Java 类型内建的类型别名。它们都是不区分大小写的,注意,为了应对原始类型的命名重复,采取了特殊的命名风格。

    别名映射的类型
    _bytebyte
    _char (since 3.5.10)char
    _character (since 3.5.10)char
    _longlong
    _shortshort
    _intint
    _integerint
    _doubledouble
    _floatfloat
    _booleanboolean
    stringString
    byteByte
    char (since 3.5.10)Character
    character (since 3.5.10)Character
    longLong
    shortShort
    intInteger
    integerInteger
    doubleDouble
    floatFloat
    booleanBoolean
    dateDate
    decimalBigDecimal
    bigdecimalBigDecimal
    bigintegerBigInteger
    objectObject
    date[]Date[]
    decimal[]BigDecimal[]
    bigdecimal[]BigDecimal[]
    biginteger[]BigInteger[]
    object[]Object[]
    mapMap
    hashmapHashMap
    listList
    arraylistArrayList
    collectionCollection
    iteratorIterator
  • 相关阅读:
    人工智能产业应用--具身智能
    万界星空科技电子机电行业MES系统,2000元/年起
    银河麒麟V10 制作sysbench rpm包 —— 筑梦之路
    HDU 2089 不要62(数位DP,DFS写法)
    gorm查询结果集如何匹配数据字典对应的名称
    微机-------可编程并行接口8255A
    .Net Core 依赖注入(IOC) 一些简单的使用技巧
    如何快速解决或避免EDI系统磁盘空间不足?
    java计算机毕业设计快滴预约平台源码+mysql数据库+系统+lw文档+部署
    基于stm32的胰岛素泵
  • 原文地址:https://blog.csdn.net/leesinbad/article/details/132650209