Mybatis实现单个和批量定义别名typeAliases

作者:编码小王子 时间:2023-02-11 06:27:03 

单个和批量定义别名typeAliases

使用Mybatis的别名typeAliases可以在xml文件里非常方便的使用类,而不需要写出这个类的全部路径

一、使用和不使用别名的区别是

不使用别名时:parameterType中需要写出这个类的全路径,特别麻烦


 <insert id="saveCity" keyProperty="id" useGeneratedKeys="true" parameterType="com.jd.lgg.web.domain.city.City">
       insert into jd_am_visit_city(cityName,creationTime,updateTime,yn)
       values(#{cityName},now(),now(),1)
   </insert>

使用别名时,直接用别名来代替这个类就可以啦


  <insert id="saveCity" keyProperty="id" useGeneratedKeys="true" parameterType="city">
       insert into jd_am_visit_city(cityName,creationTime,updateTime,yn)
       values(#{cityName},now(),now(),1)
   </insert>

二、如何定义单个别名


<?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>
<typeAliases>
  <!-- 这样定义后就可以用city来代替整个City类全路径了-->
  <typeAlias alias="city" type="com.jd.lgg.web.domain.city.City"/>
</typeAliases>
</configuration>

三、如何批量定义别名

但是如何整个项目的实体类特别多的时候,每一个都这么定义特别麻烦,而且如有有一个忘了定义就使用的话,项目会报很奇怪的错误,那么这个问题如何解决呢?

答案是批量定义别名,只定义这类所在的包名就可以了,这些包下面的类或者这些包的子包下面的类都可以直接用他们类名,或者将类名的首字母小写来代替这个类,

批量定义别名的格式如下


<?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>
<typeAliases>
  <!-- 批量定义别名,指定包名,此时pojo类的别名是pojo类的类名首字母大写或小写都行 -->
  <package name="com.jd.lgg.web.domain"/>  
</typeAliases>
</configuration>

这样的话,所有的在domain包下的类都可以用该类的类名来表示这个类了,在xml文件中的使用于单个定义别名一模一样。

typeAliases别名配置元素详述

mybatis为我们已经实现了很多别名,已经为许多常见的 Java 类型内建了相应的类型别名。

它们都是大小写不敏感的,需要注意的是由基本类型名称重复导致的特殊处理。

别名映射的类型
_bytebyte
_longlong
_shortshort
_intint
_integerint
_doubledouble
_floatfloat
_booleanboolean
stringString
byteByte
longLong
shortShort
intInteger
integerInteger
doubleDouble
floatFloat
booleanBoolean
dateDate
decimalBigDecimal
bigdecimalBigDecimal
objectObject
mapMap
hashmapHashMap
listList
arraylistArrayList
collectionCollection
iteratorIterator

来源:https://blog.csdn.net/u011900448/article/details/79035109

标签:Mybatis,别名,typeAliases
0
投稿

猜你喜欢

  • c#简单工厂、工厂方法与抽象工厂的区别分析

    2021-11-30 04:39:47
  • java图片识别文字的方法

    2021-11-11 02:43:03
  • spring boot多数据源动态切换代码实例

    2022-03-11 00:37:09
  • 解决Spring在Thread中注入Bean无效的问题

    2022-06-26 13:03:59
  • 不使用Math.random方法生成随机数(随机数生成器)

    2021-11-28 05:08:46
  • Java回调函数与观察者模式实例代码

    2023-11-16 17:30:11
  • Guava中这些Map技巧可以让代码量减少了50%

    2023-03-16 02:35:42
  • 学习Java的9张思维导图

    2021-06-10 03:38:18
  • 关于Android中点击通知栏的通知启动Activity问题解决

    2023-12-17 10:08:18
  • java三个环境变量配置简单教程

    2023-11-28 20:45:30
  • Spring MVC基于注解的使用之JSON数据处理的方法

    2022-06-02 14:02:43
  • Android客户端程序Gradle如何打包

    2023-06-05 14:10:07
  • Java命令设计模式详解

    2022-07-14 04:38:31
  • Java 异步线程监听与结果回调及异常捕获总结分析

    2021-10-14 01:23:40
  • Java IO流相关知识代码解析

    2023-08-05 05:48:04
  • 10种简单的Java性能优化

    2023-06-20 20:43:41
  • 用java开发dota英雄最华丽的技能(实例讲解)

    2022-05-27 00:10:20
  • Java生成动态版验证码的方法实例

    2023-08-26 03:53:08
  • SpringBoot AOP方式实现多数据源切换的方法

    2023-04-08 20:58:08
  • 一文详解无痕埋点在Android中的实现

    2022-06-30 07:53:18
  • asp之家 软件编程 m.aspxhome.com