这篇文章主要介绍了Mybatis实现单个和批量定义别名typeAliases,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
正文
Mybatis实现单个和批量定义别名typeAliases
这篇文章主要介绍了Mybatis实现单个和批量定义别名typeAliases,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
单个和批量定义别名typeAliases
使用Mybatis的别名typeAliases可以在xml文件里非常方便的使用类,而不需要写出这个类的全部路径
一、使用和不使用别名的区别是
不使用别名时:parameterType中需要写出这个类的全路径,特别麻烦
|
1
2
3
4
|
<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> |
使用别名时,直接用别名来代替这个类就可以啦
|
1
2
3
4
|
<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> |
二、如何定义单个别名
|
1
2
3
4
5
6
7
8
|
<?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> |
三、如何批量定义别名
但是如何整个项目的实体类特别多的时候,每一个都这么定义特别麻烦,而且如有有一个忘了定义就使用的话,项目会报很奇怪的错误,那么这个问题如何解决呢?
答案是批量定义别名,只定义这类所在的包名就可以了,这些包下面的类或者这些包的子包下面的类都可以直接用他们类名,或者将类名的首字母小写来代替这个类,
批量定义别名的格式如下
|
1
2
3
4
5
6
7
8
|
<?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 类型内建了相应的类型别名。
它们都是大小写不敏感的,需要注意的是由基本类型名称重复导致的特殊处理。
| 别名 | 映射的类型 |
|---|---|
| _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 |
| object | Object |
| map | Map |
| hashmap | HashMap |
| list | List |
| arraylist | ArrayList |
| collection | Collection |
| iterator | Iterator |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持米米素材网。
原文链接:https://blog.csdn.net/u011900448/article/details/79035109

发表评论