在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標簽,可以根據傳入的參數動態指定查詢的列,從而實現靈活的查詢功能。