mapper.xml文件中resulttype和resultmap有什么区别
时间: 2024-06-12 17:10:43 浏览: 97
resultType是指定查询结果的类型,通常是一个JavaBean或者基本数据类型,MyBatis会自动将查询结果映射到该类型的对象中。而resultMap则是自定义映射规则,可以通过resultMap来指定如何将查询结果映射到JavaBean中的属性上,可以实现一些高级映射功能,比如级联查询、关联查询等。
相关问题
mapper.xml文件注释
mapper.xml文件通常是在MyBatis框架中用于配置SQL映射的XML文件,它定义了数据库操作和业务逻辑之间的对应关系。这个文件中的注释主要用于提高代码的可读性和维护性。
常见的mapper.xml注释包括:
1. **<!-- -->**: 使用HTML风格的注释,可以用来添加对整个mapper的描述,如数据源、表名等信息。
```xml
<!-- 用户Mapper -->
<mapper namespace="com.example.mapper.UserMapper">
```
2. **<comment>...</comment>**: 这是一种专门的MyBatis注释标签,可以为特定的元素(如select, insert, update, delete等)提供详细的说明。
```xml
<insert id="saveUser" parameterType="com.example.entity.User"
comment="保存用户信息到数据库">
```
3. **<resultMap>...</resultMap>** 和 **<association>** 或 **<collection>** 的注释:用于解释结果集如何映射到Java对象中的属性。
```xml
<!-- 定义用户结果映射 -->
<resultMap id="BaseResultMap" type="com.example.entity.User">
<id property="id" column="user_id" />
<!-- ...其他字段... -->
</resultMap>
```
4. **<sql>...</sql>** 注释:如果SQL语句需要特别说明,可以在这一部分加入注释。
```xml
<sql id="getUserById" resultType="com.example.entity.User">
SELECT * FROM user WHERE id = #{id} <!-- 查询用户 by ID -->
</sql>
```
通过这些注释,团队成员可以更好地理解mapper.xml的结构和意图,方便代码审查和后期维护。
Mapper.xml文件中用到的标签
1. select:定义一个查询语句,用于从数据库中获取数据。
2. insert:定义一个插入语句,用于将数据插入到数据库中。
3. update:定义一个更新语句,用于更新数据库中的数据。
4. delete:定义一个删除语句,用于删除数据库中的数据。
5. resultMap:定义一个结果映射,用于将查询结果映射到Java对象中。
6. parameterMap:定义一个参数映射,用于将Java对象中的参数映射到SQL语句中。
7. id:定义一个操作的唯一标识符。
8. resultType:定义一个结果类型,用于指定查询结果的返回类型。
9. parameterType:定义一个参数类型,用于指定SQL语句中的参数类型。
10. include:引用其他的Mapper.xml文件,用于复用SQL语句。
11. if:定义一个条件判断,用于动态生成SQL语句。
12. set:定义一个更新语句中的set子句,用于设置更新的字段值。
13. where:定义一个查询、更新、删除语句中的where子句,用于设置查询条件。
14. trim:定义一个动态生成SQL语句时需要去除的字符,例如逗号或者and。
15. choose、when、otherwise:定义一个条件选择,用于动态生成SQL语句。
阅读全文