2016-08-30 12 views
0

NULL値でない場合にのみnull値を挿入します。 nullの場合、DBにデフォルト値を挿入させます。myBatisはヌル値を条件付きで挿入しません

<insert id ="inventorySave"> 
<[CDATA[ 

INSET INTO inventory 
(itemname,amount,id,level) 
values 
]] 
<foreach item="inventory" collection="inventoryies" separator=","> 
<[CDATA[ 
(#{inventory.itemName},#{inventory.amount}, #{inventory.id}, #{inventory.level}) 
]] 
</foreach> 
</insert> 

「レベル」の値を確認したいのは、「普通」、「重要」、「重度」の有効な文字列です。空の文字列またはnullがある場合、これはanyを指定してはならず、データベースにデフォルト値を挿入することを決定します。

条件付きでレコードを挿入する方法を教えてください。

答えて

1

は、それらと同等のjdbcTypeすなわちデータベースのカラムタイプは、あなたが期待するものをacheiveするすべてのdymanic値を与えます。

#{inventory.level,jdbcType=NVARCHAR} 
    //assuming the equivalent column type in database for itemname is varchar. 
level用と同様に他のエンティティについては、以下のようにあなたの上記のクエリの変更から例えば

関連する問題