1, the database connection must be configured: &allowmultiqueries=true
My configuration is as follows:jdbc:mysql://10.20.13.16:3306/calendar?useunicode=true&characterencoding=utf-8& allowmultiqueries=true
2, Batch modification and add Judgment condition (Modify field optional)
<!--Batch update Schedule - <UpdateID= "Updatematchs"ParameterType= "Java.util.List"> <foreachCollection= "Matchs"Item= "Item"Index= "Index"Open=""Close=""Separator=";">Update T_match<Set> <ifTest= "Item.title!=null">TITLE = #{item.title,jdbctype=varchar},</if> <ifTest= "Item.homescore!=null">Home_score = #{item.homescore,jdbctype=integer},</if> <ifTest= "Item.visitscore!=null">Vistt_score = #{item.visitscore,jdbctype=integer},</if> <ifTest= "Item.livesource!=null">Live_source = #{item.livesource,jdbctype=varchar},</if> <ifTest= "Item.liveurl!=null">Live_url = #{item.liveurl,jdbctype=varchar},</if> <ifTest= "Item.ishotmatch!=null">is_hot_match = #{item.ishotmatch,jdbctype=varchar}</if> </Set>where home_team_id = #{item.hometeamid,jdbctype=varchar} and visit_team_id = #{item.visitteamid,jdbctyp E=varchar} and Match_time = #{item.matchtime,jdbctype=bigint}</foreach> </Update>
Java interface
/** * Batch revision schedule * @param matchs @throws daoexception * /void Updatematchs (@Param (value = "Matchs") list<matchbasic> matchs);
MyBatis How to perform bulk update batch updates