mybatisに動的選択クエリがあります。次のようなものです。
<select id="genericSelect" parameterType="GenericQueryParameter" resultType="hashmap">
SELECT <if test="selectMode != null">${selectMode}</if> ${selectPart}
FROM ${fromPart}
<where>
<if test="fixedWherePart != null">${fixedWherePart}</if>
<if test="wherePart != null">AND ${wherePart}</if>
<if test="initialCondition != null and wherePart == null">AND ${initialCondition}</if>
</where>
<if test="groupByPart != null"> GROUP BY ${groupByPart}</if>
<if test="havingPart != null"> HAVING ${havingPart}</if>
<if test="order != null"> ORDER BY ${order}</if>
</select>
結果としてキーをハッシュマップし、列名ではなく列番号を入力することが重要です。どういうわけか、これを行うためにいくつかのカスタムハンドラーまたは他のものを作成することは可能ですか?
Mybatisのバージョンは3.1.1で、マッパーインターフェイスを使用してクエリを処理しています。