返回顶部
首页 > 资讯 > 后端开发 > Python >Mybatis 如何在配置文件中给实体类起别名
  • 579
分享到

Mybatis 如何在配置文件中给实体类起别名

2024-04-02 19:04:59 579人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

mybatis 给实体类起别名 全局配置文件中的标签: 标签3: typeAliases 别名处理器 可以为java类型起别名 别名忽略大小写 原来: <select id

mybatis 给实体类起别名

全局配置文件中的标签:

标签3: typeAliases 别名处理器 可以为java类型起别名 别名忽略大小写

原来:


<select id="getTeacherById" parameterType="integer" resultType="entity.Teacher">

ctrl+左键就可以定位到该类 其实比较方便

起了别名后就难找了

注意:

有个问题 typeAlias标签 还有位置问题 得放在proerties后面 而不是configuration后面

有三个方法起别名:

第一种:单个起别名


    <typeAliases>
        <typeAlias type="entity.Teacher" alias="ss"/>
    </typeAliases>

type是要为起别名的类型全类名 默认是类名的小写teacher

alias:是指新的别名

第二种:批量起别名


<typeAliases>   
        <package name="entity"/>
    </typeAliases>

package:为某个包下的所有类批量起别名

name:指定包名 以及下面所有的后代包的每一个类都起一个默认别名(类名小写)

第三种:使用注解

如果此时类名冲突怎么办?

使用@Alias注解为某个类指定新的别名:


@Alias("ss")
public class Teacher {

注意:得考虑是否起别名,有时候起别名反而更麻烦了

其实Mybatis内部就有很多起别名的:来看看 全局配置Configuration中的别名


public Configuration() {
 typeAliasReGIStry.registerAlias("JDBC", JdbcTransactionFactory.class);
    typeAliasRegistry.registerAlias("MANAGED", ManagedTransactionFactory.class);
    typeAliasRegistry.registerAlias("JNDI", JndiDataSourceFactory.class);
    typeAliasRegistry.registerAlias("POOLED", PooledDataSourceFactory.class);
    typeAliasRegistry.registerAlias("UNPOOLED", UnpooledDataSourceFactory.class);
    typeAliasRegistry.registerAlias("PERPETUAL", PerpetualCache.class);
    typeAliasRegistry.registerAlias("FIFO", FifoCache.class);
    typeAliasRegistry.registerAlias("LRU", LruCache.class);
    typeAliasRegistry.registerAlias("SOFT", SoftCache.class);
    typeAliasRegistry.registerAlias("WEAK", WeakCache.class);
    typeAliasRegistry.registerAlias("DB_VENDOR", VendorDatabaseIdProvider.class);
    typeAliasRegistry.registerAlias("XML", XMLLanguageDriver.class);
    typeAliasRegistry.registerAlias("RAW", RawLanguageDriver.class);
    typeAliasRegistry.registerAlias("SLF4J", Slf4jImpl.class);
    typeAliasRegistry.registerAlias("COMMONS_LOGGING", JakartaCommonsLoggingImpl.class);
    typeAliasRegistry.registerAlias("LOG4J", Log4jImpl.class);
    typeAliasRegistry.registerAlias("LOG4J2", Log4j2Impl.class);
    typeAliasRegistry.registerAlias("jdk_LOGGING", Jdk14LoggingImpl.class);
    typeAliasRegistry.registerAlias("STDOUT_LOGGING", StdOutImpl.class);
    typeAliasRegistry.registerAlias("NO_LOGGING", NoLoggingImpl.class);
    typeAliasRegistry.registerAlias("CGLIB", CglibProxyFactory.class);
    typeAliasRegistry.registerAlias("JAVASSIST", JavassistProxyFactory.class);

Mybatis 取别名问题

今天学习Mybatis时在取别名这里总是报错,如图所示

错误信息:

Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 36; columnNumber: 17; 元素类型为 “configuration” 的内容必须匹配 “(properties?,settings?,typeAliases?,typeHandlers?,objectFactory?,objectWrapperFactory?,reflectorFactory?,plugins?,environments?,databaseIdProvider?,mappers?)”。

最后发现只需要在定义别名的时候把typeAlias标签放在properties标签后面就好了


<?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>
    <!--typeAlias用于配置别名。type属性指定的是实体类全限定类名。alias属性指定别名,当指定了别名就不区分大小写,linux中仍然区分大小写,且typeAlias标签必须放在properties后面-->
    <properties resource="jdbcConfig.properties">
    </properties>
    <typeAliases>
        <package name="domain"></package>
    </typeAliases>
    <!--配置环境-->
    <environments default="Mysql">
        <!--配置mysql的环境-->
        <environment id="mysql">
            <!--配置事务的类型-->
            <transactionManager type="JDBC">
            </transactionManager>
            <!--配置数据源(连接池)-->
            <dataSource type="POOLED">
                <!--配置连接数据库的4个基本信息-->
                <property name="driver" value="${driver}"/>
                <property name="url" value="${url}"/>
                <property name="username" value="${username}"/>
                <property name="passWord" value="${password}"/>
            </dataSource>
        </environment>
    </environments>
    <!--指定映射配置文件的位置,映射配置文件指的是每个dao独立的配置文件
        如果是用注解来配置的话,此处应该使用class属性指定被注解的dao全限定类名
    -->
    <mappers>
        <package name="dao"/>
    </mappers>
</configuration>

之后运行就正常了

在这里插入图片描述

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: Mybatis 如何在配置文件中给实体类起别名

本文链接: https://lsjlt.com/news/130469.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Mybatis 如何在配置文件中给实体类起别名
    Mybatis 给实体类起别名 全局配置文件中的标签: 标签3: typeAliases 别名处理器 可以为java类型起别名 别名忽略大小写 原来: <select id...
    99+
    2024-04-02
  • Mybatis怎么在配置文件中给实体类起别名
    本篇内容介绍了“Mybatis怎么在配置文件中给实体类起别名”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Mybatis 给实体类起别名全局...
    99+
    2023-06-20
  • 如何解决Mybatis实体别名支持通配符扫描问题
    小编给大家分享一下如何解决Mybatis实体别名支持通配符扫描问题,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Mybatis简介MyBatis 是一款优秀的持久...
    99+
    2023-06-28
  • 如何在C#中读取配置文件
    如何在C#中读取配置文件,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。C#读取配置文件1.了解配置文件概述:应 用程序配置文件是标准的 XML 文件,XML 标...
    99+
    2023-06-18
  • php如何在配置文件中设置时区
    本篇内容主要讲解“php如何在配置文件中设置时区”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何在配置文件中设置时区”吧!php配置文件设置时区的方法:首先找到并打开配置文件“php.i...
    99+
    2023-06-20
  • 如何在pytest中使用pytest.ini配置文件
    这篇文章将为大家详细讲解有关如何在pytest中使用pytest.ini配置文件,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。pytest配置文件可以改变pytest的运行方式,它是一个固定...
    99+
    2023-06-14
  • Apache和PHP:如何在Linux中配置文件?
    Apache和PHP是众所周知的开源软件,它们在Web服务器和动态Web应用程序方面扮演着重要角色。在Linux中,Apache和PHP的安装和配置相对容易,但有时会出现一些问题。本文将为您介绍如何在Linux中配置Apache和PHP。 ...
    99+
    2023-06-30
    apache 文件 linux
  • 如何在yml配置文件中使用中文注解
    目录yml配置文件中使用中文注解问题根本原因解决yml配置文件简单语法及小坑yml文件使用方法yml配置文件中使用中文注解 问题 我们在yml中写注解一般是这样的 #xxxx 当我们...
    99+
    2022-11-13
    yml配置文件 中文注解 yml使用中文注解
  • 聊聊如何在Golang中修改配置文件
    在应用程序的开发过程中,有一个非常重要的文件——配置文件(configuration file)往往包含了各种参数和选项,以调整应用程序的行为和表现形式。常见的配置文件格式有ini、json、yaml等等。虽然配置文件对于应用程序的正确运行...
    99+
    2023-05-14
  • 如何解决mybatis-plus实体类中字段和数据库中字段名不对应
    这篇文章主要介绍“如何解决mybatis-plus实体类中字段和数据库中字段名不对应”,在日常操作中,相信很多人在如何解决mybatis-plus实体类中字段和数据库中字段名不对应问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法...
    99+
    2023-06-07
  • 云服务器如何配置access数据库中的数据类型文件夹名
    首先,需要在云服务器上安装一个MySQL数据库。在服务器上访问MySQL官网,进入MySQL安装向导。根据提示,输入数据库用户名、密码和主机地址,点击“下一步”继续。在接下来的界面中,选择要使用的MySQL版本和数据库名称,然后点击“下一步...
    99+
    2023-10-28
    数据库中 数据类型 文件夹
  • 如何在批处理文件或配置文件中加入注释
    这篇文章主要讲解了“如何在批处理文件或配置文件中加入注释”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何在批处理文件或配置文件中加入注释”吧!Rem 使您可以在批处理文件或配置文件中加入注...
    99+
    2023-06-09
  • 如何在SpringBoot中管理多环境配置文件
    这篇文章给大家介绍如何在SpringBoot中管理多环境配置文件,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。可以通过配置项 spring.profiles.active 的值来激活对应的环境(思路:使用一个默认的文件...
    99+
    2023-06-15
  • 如何在Linux系统中配置ASP与Apache文件?
    在Linux系统中,Apache是一款流行的Web服务器,而ASP是一种微软的动态网页开发技术。在使用Linux系统的同时,很多用户也需要在Apache服务器上运行ASP文件。本篇文章将介绍如何在Linux系统中配置ASP与Apache文件...
    99+
    2023-10-03
    linux apache 文件
  • 如何在spring中对配置文件进行加密
    这篇文章将为大家详细讲解有关如何在spring中对配置文件进行加密,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。通过继承spring配置类并重写处理方法实现密文解密public c...
    99+
    2023-05-30
    spring
  • Mybatis如何通过数据库表自动生成实体类和xml映射文件
    本篇内容主要讲解“Mybatis如何通过数据库表自动生成实体类和xml映射文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Mybatis如何通过数据库表自动生成实体类和xml映射文件”吧!环境...
    99+
    2023-06-20
  • 云服务器如何配置access数据库中的数据类型文件夹名称
    首先,让我们来看看在Access数据库中配置数据类型文件夹名称的步骤: 首先,打开云服务器控制台。 在控制台中,找到“系统”选项卡,点击进入。 在“系统属性”窗口中,找到“系统日志”选项卡。 在“事件日志”选项卡中,找到“查看详细日志”...
    99+
    2023-10-27
    数据库中 数据类型 文件夹
  • 如何在nginx配置文件中使用环境变量
    这期内容当中小编将会给大家带来有关如何在nginx配置文件中使用环境变量,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。前言Nginx是一款面向性能设计的HTTP服务器,相较于Apache、lighttpd...
    99+
    2023-06-15
  • C#中VB.NET如何实现在Word中嵌入多媒体文件
    小编给大家分享一下C#中VB.NET如何实现在Word中嵌入多媒体文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!引入dll通过NuGet安装dll(2种方法)...
    99+
    2023-06-21
  • 如何实现Python中ini配置文件读写操作
    这篇文章将为大家详细讲解有关如何实现Python中ini配置文件读写操作,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。导入模块import configparser # py...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作