• 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
  • 相关阅读:
    如何轻松做好多项目管理?抓住这6点就够了
    设备树的理解与运用
    最常用的结构体初始化方式
    salesforce零基础学习(一百三十六)零碎知识点小总结(八)
    ubuntu20开启NTP服务器操作步骤
    【593. 有效的正方形】
    LeetCode #104.二叉树的最大深度
    华为OD机试 - 分苹果 - 二进制(Java 2023 B卷 100分)
    Python中正则表达式的使用
    java项目springboot医院固定资产检修管理系统
  • 原文地址:https://blog.csdn.net/leesinbad/article/details/132650209