MyBatis .. trim,where子句不按预期工作

时间:2014-08-16 19:02:34

标签: mybatis

我正在使用mybatis和spring的应用程序。 该应用程序有一个搜索部分,我根据要求添加了一些搜索条件。 网格在没有任何标准的情况下获取数据并且工作正常,但是当我向条件添加内容时,它仍然显示相同的数据。 传递给函数的值按预期打印在日志文件中。 问题是最后我调用DAO的方法,其中动态sql需要创建并执行但它没有按预期工作。 以下是我所指的代码:

<select id="getAllMemberDetails" resultMap="result_members" parameterType="member">  
    SELECT ID, FNAME, LNAME, ADDRESS, ACTIVE, AMOUNT, EMAIL, JOINDATE
    FROM MEMBERS WHERE 1=1 
    <trim prefix="WHERE" prefixOverrides="AND | OR">
        <if test="fname != null">FNAME = #{fname}</if>
        <if test="lname != null">AND LNAME = #{lname}</if>
        <if test="address != null">AND ADDRESS = #{address}</if>
        <if test="active != null">AND ACTIVE = #{active}</if>
        <if test="joinDate != null">AND JOINDATE &lt;= #{joinDate}</if>
        <if test="amount!= -1">AND AMOUNT= #{amount}</if>
    </trim> 
</select>

这是java代码:

  

public List getAllMemberDetails(RowBounds rowBounds,Member   MBR);

我在这里使用 修剪标记 ,我也尝试了标记和其他相关选项,但它不起作用。 如果有人知道,请告诉我。

由于 阿图尔

0 个答案:

没有答案