Maison  >  Article  >  Java  >  Comment Springboot intègre-t-il mybatis pour implémenter le traitement par lots de mise à jour de base de données ?

Comment Springboot intègre-t-il mybatis pour implémenter le traitement par lots de mise à jour de base de données ?

WBOY
WBOYavant
2023-05-12 20:52:181341parcourir

    springboot intègre mybatis pour implémenter le traitement par lots de mise à jour de la base de données

    1 Écrivez des méthodes dans l'interface du mappeur

    /**
     * 修改book表中的销量和库存
     * 要使用批处理
     */
    Integer batchBookCountStork(@Param("bookList") List<CartItem> bookList);
    . # 🎜🎜#2. Écrivez l'instruction SQL de mise à jour correspondante dans le mappeur. La signification de l'instruction :

    Mettez à jour les données dans la table en fonction de la valeur d'identifiant parcourue dans la collection, définissez le nom du champ sur être mis à jour et lier la valeur du champ à mettre à jour à l'identifiant de clé primaire de la table. Lorsque l'identifiant de clé primaire est cohérent avec la valeur d'identifiant extraite de la liste, laissez le nom du champ à mettre à jour prendre la valeur après. puis

    Mybatis batch update database MybatisBatchUtils batchInsertupdate spring boot

    MybatisBatchUtils

    <update id="batchBookCountStork" parameterType="java.util.List">
        UPDATE t_book
        <set>
            <foreach collection="bookList" item="book" index="index" open="`sales` = CASE `book_id`" close="END,">
                WHEN #{book.bookId} THEN sales+#{book.count}
            </foreach>
            <foreach collection="bookList" item="book" index="index" open="`stock` = CASE `book_id`" close="END,">
                WHEN #{book.bookId} THEN stock-#{book.count}
            </foreach>
        </set>
        <where>
            <foreach collection="bookList" item="book" index="index" open="`book_id` IN(" close=")" separator=",">
                #{book.bookId}
            </foreach>
        </where>
      </update>
    rrree

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Déclaration:
    Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer