springboot2.1.1
批量修改
<update id="updateBatch" parameterType="com.yst.user.entity.User">
<foreach collection="list" item="item" index="index"
separator=";" close=";">
UPDATE T_USER
<set>
<if test="item.membershipId != null">MEMBERSHIP_ID = #{item.membershipId},</if>
<if test="item.membershipType != null">MEMBERSHIP_TYPE = #{item.membershipType},</if>
<if test="item.updateDate != null">UPDATE_DATE = #{item.updateDate}</if>
</set>
WHERE USER_ID = #{item.userId}
</foreach>
</update>
如果出現異常:BadSqlGrammarException
是沒有設置數據庫的配置&allowMultiQueries=true
spring.datasource.url=jdbc:mysql://localhost:3306/user?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&useSSL=false&autoReconnect=true&allowMultiQueries=true
另外還有一種方式,是不能修改配置的情況下才使用,附上原文鏈接:https://blog.csdn.net/soda_lw/article/details/88849259
批量添加:
<insert id="largeSave">
INSERT INTO bus_project_maintenance_detail(
id,
create_by,
create_date,
update_by,
update_date,
remarks,
del_flag,
projectname,
year,
username,
userid,
coercion_type,
compulsory_own_funds,
compulsory_company_borrowing,
compulsory_mammon_loan,
isforceorright,
people_type,
mainid
) VALUES
<foreach collection="list" item="busProjectMaintenanceDetail" separator=",">
(
#{busProjectMaintenanceDetail.id},
#{busProjectMaintenanceDetail.createBy.id},
#{busProjectMaintenanceDetail.createDate},
#{busProjectMaintenanceDetail.updateBy.id},
#{busProjectMaintenanceDetail.updateDate},
#{busProjectMaintenanceDetail.remarks},
#{busProjectMaintenanceDetail.delFlag},
#{busProjectMaintenanceDetail.projectname},
#{busProjectMaintenanceDetail.year},
#{busProjectMaintenanceDetail.username},
#{busProjectMaintenanceDetail.userid},
#{busProjectMaintenanceDetail.coercionType},
#{busProjectMaintenanceDetail.compulsoryOwnFunds},
#{busProjectMaintenanceDetail.compulsoryCompanyBorrowing},
#{busProjectMaintenanceDetail.compulsoryMammonLoan},
#{busProjectMaintenanceDetail.isforceorright},
#{busProjectMaintenanceDetail.peopleType},
#{busProjectMaintenanceDetail.mainid}
)
</foreach>
</insert>