Как вставить несколько значений в один запрос, используя аннотации MyBatis? - PullRequest
2 голосов
/ 02 февраля 2012

Есть ли примеры для вставки коллекции в базу данных (MySQL) с использованием одного запроса с использованием аннотаций MyBatis, а не XML?

У меня есть следующий запрос в DAO MyBatis.

  @Insert("insert into deleted_items(item_id) " + "values (#{itemID})")
 int put(String itemID);

Я хочу вставить List<String>, используя тот же запрос, что и выше, просто разрешить несколько значений.

Как это сделать, используя только аннотации?

Ответы [ 2 ]

1 голос
/ 03 февраля 2012

AFAIK, это невозможно при использовании аннотаций.Не уверен насчет XML.

0 голосов
/ 18 мая 2017

Да, вы можете вставить коллекцию в базу данных, используя аннотацию MyBatis. Вот пример

У меня есть один список пользователей, и я хочу вставить этот список в базу данных, используя аннотацию MyBatis без отображения xml

 @Insert({"<script>", 
        "insert into  user_master (first_name,last_name) values ",
        "<foreach collection='userList' item='user' index='index' open='(' separator = '),(' close=')' >#{user.first_name},#{user.last_name}</foreach>",
        "</script>"})
    int insertUserList(@Param("userList") List<UserNew> userList);

Я успешно вставил более 25 записей в свой оставшийся вызов, используя вышеупомянутый insertUserList.

Надеюсь, это поможет вам.

...