MyBatis常用动态标签大全见上述URL,它们大概分为如下四类:
标签 | 作用 | 使用场景 |
---|---|---|
foreach | 循环语句 | 批量添加或者批量查询 |
if | 条件判断语句 | 单条件分支判断 |
choose、when、otherwise | 类似 Java 中的 switch、case、default 语句 | 多条件分支判断 |
trim、where、set | 辅助标签 | 用于处理一些条件查询 |
在MyBatis中有一个ResultMap标签,它是为了映射select标签查询出来的结果集,其主要作用是将实体类中的字段与数据库表中的字段进行关联映射。
前言
Mybatis 中 select 标签有两个属性 resultType 和 resultMap,用于在mapper.xml文件中配置返回结果类型,工作中经常使用到它们。那么在日常开发中,应该如何正确的选择呢?下面我们对这两个属性分别进行讲解和演示。
结果类型resultType
resultType直译就是结果的类型,可以设置为期望从select 语句中返回结果的类的 全限定名 或 别名 。resultType使用场景如下:
如果查询结果只是返回一个值,比如返回String、map或int,那么可以使用resultType指定简单类型作为输出结果。
我们先了解一个resultType的简单映射语句示例,它没有显式地指定 resultMap
。比如:
<sql id="resultTypeColumn">
id, username, hashedPassword
</sql>
<select id="selectUsers" resultType="map">
select
<include refid="resultTypeColumn"/>
from some_table
where id = #{id} </select>
上述语句只是简单地将所有的列映射到 Ha