0

iBatis を使用して Oracle プロシージャ コールを実行しました。プロシージャへの IN パラメータの 1 つは、プロシージャ内の VARCHAR2 データ型であり、サービス/DAO レイヤ内の java.lang.String です。

この入力パラメーターが NULL 値で渡されるたびに、プロシージャーは失敗します。値が渡されると、プロシージャはエラーなしで呼び出されます。

内のこのプロシージャ パラメータ (null 可能) に対してparametermap、属性を as に設定するjdbctype="java.sql.Types.NULL"と、機能し始めました。

これは正しい解決策ですか?

データベース接続は、Tomcat6 サーバーで作成された接続プール (dbcp) を使用して確立されます。

4

2 に答える 2

0

確かに、Ibatisにはパラメータとして渡されるNULL値に問題があります。挿入クエリでは、次のラッパーを使用します。

insert into table (column1) values (<isNull property="column1">NULL </isNull><isNotNull property="column1">#column1:INT# </isNotNull>)
于 2012-09-05T11:47:55.817 に答える