Search code examples
ibatismybatis

How to compare strings in mybatis 3 with if statement - dynamic sql


In myBatis 3 how do you compare a string when using dynamic sql?

With iBatis previously you could do the following:

        <isEqual property="sortBy" compareValue="portfolio_id">order by p.portfolio_id</isEqual>

Now with myBatis can you do the following:

        <if test="sortBy.equals('facility_id')">
          order by pd.facility_id
        </if>

sortBy is a property in the parameter map and "facility_id" is the value

I'm a little bit confused as it was straight forward in ibatis.


Solution

  • All you have to do is

    <if test="sortBy == 'facility_id' ">
        order by pd.facility_id
    </if>