zoukankan      html  css  js  c++  java
  • springboot之mybatis别名的设置

    mybatis别名设置

    在具体的mapper.xml文件中,定义很多的statement,statement需要parameterType指定输入参数的类型、需要resultType指定输出结果的映射类型。

    一.mybatis默认支持别名

    别名

    映射的类型

    _byte

    byte

    _long

    long

    _short

    short

    _int

    int

    _integer

    int

    _double

    double

    _float

    float

    _boolean

    boolean

    string

    String

    byte

    Byte

    long

    Long

    short

    Short

    int

    Integer

    integer

    Integer

    double

    Double

    float

    Float

    boolean

    Boolean

    date

    Date

    decimal

    BigDecimal

    bigdecimal

    BigDecimal

      如果在指定类型时输入类型全路径,不方便进行开发,可以针对parameterType或resultType指定的类型定义一些别名,在mapper.xml中通过别名定义,方便开发。

     

    之前,我们在sql映射xml文件中的引用实体类时,需要写上实体类的全类名(包名+类名),如下

    1. <!-- 创建用户(Create) -->  
    2. <insert id="addUser" parameterType="me.gacl.domain.User">  
    3.     insert into users(name,age) values(#{name},#{age})  
    4. </insert>  

    parameterType="me.gacl.domain.User"这里写的实体类User的全类名me.gacl.domain.User,每次都写这么一长串内容挺麻烦的,而我们希望能够简写成下面的形式

     
    1. <insert id="addUser2" parameterType="_User">  
    2.     insert into users(name,age) values(#{name},#{age})  
    3. </insert>  

    parameterType="_User"这样写就简单多了,为了达到这种效果,我们需要在conf.xml文件中为实体类="me.gacl.domain.User"定义一个别名为"_User",具体做法如下:
      在conf.xml文件中<configuration></configuration>标签中添加如下配置:

     
    1. <typeAliases>  
    2.     <typeAlias type="me.gacl.domain.User" alias="_User"/>  
    3. </typeAliases>  

    这样就可以为me.gacl.domain.User类定义了一个别名为_User,以后_User就代表了me.gacl.domain.User类,这样sql映射xml文件中的凡是需要引用me.gacl.domain.User类的地方都可以使用_User来代替,这就达到了一个简化实体类引用的目的。

      除了可以使用<typeAlias type="me.gacl.domain.User" alias="_User"/>这种方式单独为某一个实体类设置别名之外,我们还可以使用如下的方式批量为某个包下的所有实体类设置别名,如下:

     
    1. <!-- 配置实体类的别名,配置实体类别名的目的是为了在引用实体类时可以使用实体类的别名来代替实体类,达到简写的目的 -->  
    2.     <typeAliases>  
    3.         <!-- 为实体类me.gacl.domain.User配置一个别名_User -->  
    4.         <!-- <typeAlias type="me.gacl.domain.User" alias="_User"/> -->  
    5.         <!-- 为me.gacl.domain包下的所有实体类配置别名,MyBatis默认的设置别名的方式就是去除类所在的包后的简单的类名  
    6.         比如me.gacl.domain.User这个实体类的别名就会被设置成User  
    7.          -->  
    8.         <package name="me.gacl.domain"/>  
    9.     </typeAliases>  

    <package name="me.gacl.domain"/>就表示为这个包下面的所有实体类设置别名。MyBatis默认的设置别名的方式就是去除类所在的包后的简单的类名,比如me.gacl.domain.User这个实体类的别名就会被设置成User。

    在springboot中我们也可以设置别名,这个就在配置文件一句话即可:

  • 相关阅读:
    绝对路径和相对路径
    基本的文件操作
    Python2和3字符编码区别
    java开发两年了,连个java代理模式都摸不透,你怎么跳槽涨薪?
    【建议收藏】阿里P7总结的Spring注解笔记,把组件注册讲的明明白白
    面试官:你说你精通SpringBoot,你给我说一下类的自动装配吧
    面试BAT问的最多的27道MyBatis 面试题(含答案和思维导图总结)
    Springboot 框架整理,建议做开发的都看看,整理的比较详细!
    直面秋招!非科班生背水一战,最终拿下阿里等大厂offer!
    写的太细了!Spring MVC拦截器的应用,建议收藏再看!
  • 原文地址:https://www.cnblogs.com/fengli9998/p/7054877.html
Copyright © 2011-2022 走看看