Bem, pessoal, eu estou a aprender MyBatis e estou desenvolvendo um pequeno programa pra gerir tickets - chamados pra resolver problemas alheios - e senti a necessidade de fazer um AND dinâmico, ou seja, pesquisar por um ou vários valores.
Na documentalção tem o seguinte exemplo:
<select id="findActiveBlogLike"
resultType="Blog">
SELECT * FROM BLOG
<trim prefix="WHERE" prefixOverrides="AND |OR ">
<if test="state != null">
state = #{state}
</if>
<if test="title != null">
AND title like #{title}
</if>
<if test="author != null and author.name != null">
AND author_name like #{author.name}
</if>
</trim>
</select>
Porém, tem um problema. Se eu optar por buscar por título ou por autor - usando os atributos do exemplo acima - eu vou ter uma query errada.
SELECT * FROM BLOG WHERE AND title like #{title}
Peço ajuda pra poder montar esse código, gastei um final de semana inteiro e não consegui. Ou seja, colocar o AND apenas se tiver mais de um atributo.