mybatis定义别名

mybatis别名有两种,一种是系统定义的别名一种是自定义的别名。
1.系统定义的别名:对一些常用的Java类进行定义。
系统定义的别名1

系统定义别名2

系统已定义的别名直接在xml中文件中引用别名就可,不需要再写对应的全称类名,减少代码的书写量。

2.自定义别名
自定义别名共有两种方式:
一种是在xml中进行定义:
在mybatis的配置文件中定义别名,就可以在mybatis的上下文中引用该别名。

<!--定义别名-->
    <typeAliases>
        <typeAlias type="com.learn.po.Role" alias="role"/>
    </typeAliases>

另一种是使用包扫描的方式来定义别名,mybatis会自动扫描指定包下的所有类并将别名装配到上下文中:

<!--定义别名-->
    <typeAliases>
        <!--使用包扫描的方式-->
        <package name="com.learn.po"/>
    </typeAliases>

在所扫描的类中加上@Alias注解,指定别名,如下面的代码所示。如果不使用注解也可以正常扫描并装配到上下文中,默认是把类名首字母小写。需要注意别名重复的问题!

@Alias("role")
public class Role{...}
### MyBatis 中数据库别名配置及用法 在 MyBatis 的配置文件中,可以通过 `typeAliases` 标签来定义类的别名。这不仅简化了 XML 映射文件中的书写工作,还提高了可读性和维护性。 #### 别名的作用域和位置 为了确保别名能够被正确识别,在配置文件中应将 `<typeAliases>` 放置在 `<settings>` 之后的位置[^4]。如果顺序错误,则可能导致运行时异常。 #### 定义全局别名 可以使用 `type-aliases-package` 属性指定路径下的所有类都将自动注册其简单名称作为默认别名: ```xml <configuration> <!-- 设置 --> <settings> ... </settings> <!-- 类型别名 --> <typeAliases> <package name="com.example.model"/> </typeAliases> </configuration> ``` 这样做的好处是可以减少重复劳动并保持一致性;对于位于该内的每一个 Java Bean 对象来说,只需要按照驼峰命名法则即可直接调用而无需额外声明。 #### 自定义单个别名 当希望给某个特定实体赋予更加直观的名字时,也可以单独为其设定别名: ```xml <typeAlias alias="User" type="com.example.model.UserEntity"/> ``` 上述代码片段表示每当映射语句中遇到 "User" 这个字符串时都会替换为完整的类路径 `com.example.model.UserEntity`。 #### 应用于 Mapper 文件 一旦完成了以上配置,在编写 SQL 映射文件 (Mapper XML) 时就可以利用这些简短易记的别名代替冗长复杂的全限定类名了。例如查询用户列表的操作可能看起来像下面这样简洁明了: ```xml <select id="selectUsers" resultType="User"> SELECT * FROM users; </select> ``` 这里的结果集类型就用了之前自定义好的 User 别名而不是原始的 com.example.model.UserEntity 字符串形式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值