MyBatis学习:自定义别名

1、本篇博文的背景和目的

目前我本人正在学习MyBatis框架,在原先了解并且懵懵懂懂使用的基础上,开始系统正式的学习。阐述了MVC架构模式和三层架构,明晰了在Web项目中的普遍编码层次,回顾了JDBC连接数据库,建立了使用MyBatis和MySQL的Maven项目,解释了STDOUT_LOGGING日志和手动提交事务,记录了MyBatis中#占位符的使用方法,回顾了MyBatis执行SQL语句的过程和使用到的一些重要类和接口,记录了将固定化的代码整合到一个工具类MyBatisUtil中,以减少代码量。记录了dao层接口的实现以及为什么要实现它。记录了MyBatis动态代理和使用动态代理的要求以及使用了动态代理生成的实现类。记录了MyBatis框架下传参的五种方法,占位符#和$。本篇博客记录一下如何自定义别名。

2、我的上一篇博文

上一篇博文我记录的是$占位符的具体使用方法,感兴趣的读者可以移步查阅,链接如下所示:

MyBatis学习:$占位符的使用_你是我的日月星河的博客-CSDN博客目前我本人正在学习MyBatis框架,在原先了解并且懵懵懂懂使用的基础上,开始系统正式的学习。阐述了MVC架构模式和三层架构,明晰了在Web项目中的普遍编码层次,回顾了JDBC连接数据库,建立了使用MyBatis和MySQL的Maven项目,解释了STDOUT_LOGGING日志和手动提交事务,记录了MyBatis中#占位符的使用方法,回顾了MyBatis执行SQL语句的过程和使用到的一些重要类和接口,记录了将固定化的代码整合到一个工具类MyBatisUtil中,以减少代码量。...https://blog.csdn.net/weixin_46281472/article/details/126189174

3、MyBatis中什么是别名,为什么会用到别名

这里的别名指的是:某一种数据类型的别名。这里提到的数据类型,可以是JAVA中自带的基本数据类型,也可以是自己编写的实体类。

在MyBatis的mapper.xml文件中,parameterType属性和resultType属性的值都是某一种数据类型的全限定路径名称,但是全限定路径名称太长了,所以,MyBatis允许给每一种数据类型都起一个别名,使用别名来代替它的全限定路径名称。

MyBatis已经帮我们给每一种基本数据类型起好了对应的别名,这个可以在MyBatis的官方手册中查询到。

但是,我们自定义的实体类怎么给别名呢?这就需要我们自己配置了。

4、在MyBatis的总配置文件中自定义别名

如果我们需要给自定义实体类配置别名,那么就需要在MyBatis的总配置文件中配置。

下面我直接给出代码:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!--    下面设置一下日志,一定要在最上面, 其实我们可以按着Ctrl键,鼠标左击configuration标签,进去看它规定的标签顺序-->
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>
<!--    下面我们自己声明一些别名,这里有两种语法格式-->
    <typeAliases>
<!--        第一种语法格式  type:java类型的全限定名称,一般都是自定义java类型
                        alias:别名
                        这种方法就是比较麻烦。
                        -->
        <typeAlias type="com.dcy.domain.Student" alias="Student"></typeAlias>
<!--        第二种语法格式  name:包名  MyBatis会自动将这个包中的所有类名作为别名,并且不区分大小写 -->
        <package name="com.dcy.domain"/>
    </typeAliases>
    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"></transactionManager>
            <!--            下面是配置一下数据源,其实后面我们就不这样配置了,都在.yml文件中配置-->
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.cj.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/ssm?useUnicode=true&amp;characterEncoding=utf8&amp;useSSL=false&amp;serverTimezone=Hongkong&amp;allowMultiQueries=true"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>
    <!--   用于指定其它mapper.xml文件的位置,也就是路径
     这个路径是从target/classes根路径开始的,也即是com/**/**/这样的
     使用注意:使用 / 分隔路径;一个mapper标签指定一个文件;
     -->
    <mappers>
        <mapper resource="com/dcy/dao/StudentDao.xml"></mapper>
    </mappers>
</configuration>

注意看我代码中的注释。

这里说一个需要注意的点:与自定义配置别名有关的typeAliases标签必须写在settings标签之后。MyBatis的总配置文件中标签之间是有顺序的,这个顺序我们可以看到。方法是:Windows操作系统下,按着Ctrl键,左键点击configuration标签,进入到如下页面:

 上面就是标签之间的先后顺序。

配置别名有两种语法格式:1、使用<typeAlias>标签,此标签的type属性值是某数据类型的全限定路径名称,alias属性值是别名。2、使用<package>标签,只有一个name属性。name属性值是某一个包的全限定路径名称。使用这种方法默认会将此包中的所有类名作为这个类的别名。

最后,我们就可以使用别名,例如下面的使用方法:

    <select id="queryStudentOrderByColume" resultType="Student"><!--  这里使用了别名-->
select * from student order by ${colume}
    </select>

5、我的下一篇博文

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你是我的日月星河

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值