ibatis-user-java mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Clinton Begin <clinton.be...@gmail.com>
Subject Re: How to throw an exception when a property from a parameter map is null or missing?
Date Wed, 03 Feb 2010 14:20:54 GMT
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.


On Wed, Feb 3, 2010 at 6:36 AM, Paul Spencer <paulsp@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

View raw message