编写sql的时候where后面的条件不固定,写代码中非常麻烦。mybatis对这件情况作了非常好的处理。很方便
<select id="selectDataCode" resultType="DataCodeView">
select dgc.id,dgc.code, scg.name as giftName,dp.name as platformName,dgc.use_userid,dgc.use_serverid,dgc.cre_date,dgc.use_date,dgc.expire_date,dgc.status from (data_code as dgc inner join data_platform as dp on dgc.platform_id = dp.id) inner join sys_code_gift as scg on dgc.gift_id = scg.id
<trim prefix="WHERE" prefixOverrides="AND|OR">
<if test="code != '' and code != null">
dgc.code like #{code}
</if>
<if test="giftName != '' and giftName != null">
and scg.name like #{giftName}
</if>
<if test="platform_id != 0">
and dgc.platform_id = #{platform_id}
</if>
<if test="status != -1">
and dgc.status = #{status}
</if>
</trim>
</select>
有不了解的可以看这篇博客。写的非常详细http://haohaoxuexi.iteye.com/blog/1338557