ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Poitras Christian <Christian.Poit...@ircm.qc.ca>
Subject RE: SELECT containing NULL
Date Mon, 28 Jul 2008 19:39:39 GMT
On MySQL, you can use <=> instead of = for null safe comparison.

<select id="getSomeRecords"  parameterClass="RecordItem" resultClass="long">
SELECT ColumnUID
WHERE
    Column1 &lt;=&gt; #property1#
    AND Column2 = #property2#
</select>
You can also test null values with <isNull> tag.
<select id="getSomeRecords"  parameterClass="RecordItem" resultClass="long">
SELECT ColumnUID
WHERE
    <isNull property="property1">
    Column1 IS NULL
    </isNull>
    <isNotNull property="property1">
    Column1 = #property1#
    </isNotNull>
    AND Column2 = #property2#
</select>

Christian

________________________________
From: nullptr rejected [mailto:curious.developer@gmail.com]
Sent: Monday, July 28, 2008 2:44 PM
To: user-java@ibatis.apache.org
Subject: SELECT containing NULL

I am not getting the expected results when executing a select statement containing null values.

I have the following example:

<select id="getSomeRecords"  parameterClass="RecordItem" resultClass="long">
SELECT ColumnUID
WHERE
    Column1 = #property1#
    AND Column2 = #property2#
</select>

In java:

class RecordItem {
  private String property1;
  private String property2;
 ...
}


If I have a RecordItem that has a property1 that has a null value (as read from a previous
SELECT from that table), then when selecting that record from the table, I would expect it
to return the record. Is there something specific I have to do to get iBATIS to execute a
modified SQL that would use something like:

SELECT ColumnUID
WHERE
  Column1 IS NULL
  AND Column2 = 'property2Value'

Thank you for any hints or direction you may be able to provide.

-- CD

Mime
View raw message