2016-08-30 6 views
0

Я хочу вставить не нулевые значения, только если это значение равно null. Если значение null, пусть DB вставляет значения по умолчанию.myBatis insert not null values ​​условно

<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> 

Я хочу, чтобы проверить значение «уровень» является действительной строкой: «обычный», «важный», «тяжелая». Если у него пустая строка или нуль, это не должно указывать, и пусть база данных решит вставить свое значение по умолчанию.

Кто-нибудь, дайте мне знать, как условно вставить записи.

ответ

1

Дайте всем dymanic значения от их эквивалент jdbcType т.е. столбец базы данных типа для того чтобы достигнуть того, что вы ожидаете.

, например, из вашего запроса выше изменения, как показано ниже для level и аналогично для других организаций:

#{inventory.level,jdbcType=NVARCHAR} 
    //assuming the equivalent column type in database for itemname is varchar.