Loading

别名

类型别名(typeAliases)

- 类型别名是为 Java 类型设置一个短的名字。

- 存在的意义仅在于用来减少类完全限定名的冗余。

```xml
<!--可以给实体类起别名-->
<typeAliases>
<typeAlias type="com.rui.pojo.User" alias="User"/>
</typeAliases>
```

也可以指定一个包名,MyBatis 会在包名下面搜索需要的 Java Bean,比如:

扫描实体类的包,他的默认别名就为这个类的类名,首字母小写!

```xml
<!--可以给实体类起别名-->
<typeAliases>
<package name="com.rui.pojo"/>
</typeAliases>
```

 

在实体类比较少的时候,使用第一种方式。

如果实体类十分多,建议使用第二种方式。

第一种可以DIY别名,第二种则不行,如果非要改,需要在实体类(pojo)上增加@Alias注解

```java
@Alias("author")
public class Author {
...
}
```

我刚刚才发现结果集映射的type写了   查询语句下面就可以不用写

个人我理解:因为resultType映射到下面的查询UserMap里面。结果集里面的type写类名,相当于select里面的类型转到映射里面写了

 

官方文档

- `resultMap` 元素是 MyBatis 中最重要最强大的元素
- ResultMap 的设计思想是,对于简单的语句根本不需要配置显式的结果映射,而对于复杂一点的语句只需要描述它们的关系就行了。
- `ResultMap` 最优秀的地方在于,虽然你已经对它相当了解了,但是根本就不需要显式地用到他们。
- 如果世界总是这么简单就好了。

 

<!--结果集映射-->
<resultMap id="UserMap" type="User">
<!--column数据库中的字段,property实体类中的属性-->
<result column="pwd" property="password"/>
</resultMap>
<select id="getUserById" resultMap="UserMap" parameterType="int">
/*定义sql*/
select * from mybatis.user where id = #{id};
</select>
```

posted @ 2020-03-18 17:44  Rzk  阅读(213)  评论(0编辑  收藏  举报