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

kkudi picture kkudi · Feb 14, 2012 · Viewed 27.9k times · Source

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.

Answer

kkudi picture kkudi · Feb 14, 2012

All you have to do is

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