You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-java@ibatis.apache.org by Clinton Begin <cl...@gmail.com> on 2010/02/03 15:20:54 UTC

Re: How to throw an exception when a property from a parameter map is null or missing?

This enters a very big topic of validations in the persistence layer, which
I would approach very carefully and not simply add a few attributes here and
there.  I believe this should be done at a higher level in your
application.  While it may be convenient to piggyback on the iBATIS
configuration files, it's not necessarily the best way to go.

Clinton

On Wed, Feb 3, 2010 at 6:36 AM, Paul Spencer <pa...@apache.org> wrote:

> Is there a way to throws an exception if an property from the input
> parameter evaluates to null in iBatis 3.0?
>
> I have a generic query engine that accepts iBatis configuration files and a
> parameter map as input.  As a result the query engine only passes the
> parameter map to iBatis without knowing what properties in the map are
> required.  When a property is null or missing iBatis may throw a parsing
> exception because it does not know the datatype of the property, the DBMS
> server may throw an sql query parsing exception, or the query will execute
> producing unexpected results. Ideally I would like to use a mode in the
> query parameter, like #{col2Value,nonNullValue=required}, that would cause
> iBatis to throw an exception when the property evaluated to null.
>
> As an example, I would like iBatis to throw an exception, like
> "MissingParameterException", when the property "col2Value" is null or not in
> the parameter map.
>
>  <mapper namespace="com.foo.example">
>    <select id="sampleQuery" parameterType="Map" resultType="Map">
>        select column_1 from foo where column_2 = #{col2Value}
>    </select>
>  </mapper>
>
>
> Paul Spencer
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-java-unsubscribe@ibatis.apache.org
> For additional commands, e-mail: user-java-help@ibatis.apache.org
>
>