在MyBatis中动态指定列可以使用if标签或者choose标签来实现。下面是一个示例:
<select id="selectUser" parameterType="map" resultType="User">
SELECT
<if test="columns != null">
${columns}
</if>
<if test="columns == null">
*
</if>
FROM user
</select>
在上面的示例中,使用了if标签来判断传入的参数columns是否为空,如果不为空,则动态指定查询的列,如果为空则查询所有列。传入的参数columns可以是一个字符串,例如"username, age, sex"。
另外,还可以使用choose标签来实现类似功能:
<select id="selectUser" parameterType="map" resultType="User">
SELECT
<choose>
<when test="columns != null">
${columns}
</when>
<otherwise>
*
</otherwise>
</choose>
FROM user
</select>
通过if标签或者choose标签,可以根据传入的参数动态指定查询的列,从而实现灵活的查询功能。