Maison >Java >javaDidacticiel >Comment Springboot intègre-t-il mybatis pour implémenter le traitement par lots de mise à jour de 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!