MyBatisPlus唯一索引批量新增或修改的實(shí)現(xiàn)方法
MyBatis-Plus提供了一個(gè)便捷的方式基于唯一索引批量新增或修改記錄。具體步驟如下:
在實(shí)體類中標(biāo)注唯一索引,使用@TableIndex注解,例如:
@TableName("user") @TableIndex(name = "idx_username", unique = true, columnList = "username") public class User { private Long id; private String username; private String password; // ... }
上述代碼中,@TableIndex注解表示在user表上創(chuàng)建一個(gè)名為idx_username的唯一索引,索引列為username。
在Mapper接口中定義方法,使用@Param注解傳遞參數(shù),例如:
public interface UserMapper extends BaseMapper<User> { int batchInsertOrUpdate(@Param("list") List<User> list); }
在Mapper XML文件中編寫SQL語(yǔ)句,使用ON DUPLICATE KEY UPDATE實(shí)現(xiàn)批量新增或修改,例如:
<insert id="batchInsertOrUpdate" useGeneratedKeys="true" keyProperty="id"> INSERT INTO user(username, password) VALUES <foreach collection="list" item="item" separator=","> (#{item.username}, #{item.password}) </foreach> ON DUPLICATE KEY UPDATE username = VALUES(username), password = VALUES(password) </insert>
上述代碼中,使用<foreach>標(biāo)簽循環(huán)插入或更新每個(gè)User對(duì)象,ON DUPLICATE KEY UPDATE表示如果有唯一索引沖突,則執(zhí)行更新操作。
在Service層中調(diào)用Mapper方法,例如:
@Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public int batchInsertOrUpdate(List<User> list) { return userMapper.batchInsertOrUpdate(list); } }
這樣,我們就可以通過(guò)一個(gè)方法實(shí)現(xiàn)基于唯一索引的批量新增或修改記錄了。
到此這篇關(guān)于MyBatisPlus唯一索引批量新增或修改的實(shí)現(xiàn)方法的文章就介紹到這了,更多相關(guān)MyBatisPlus唯一索引批量新增 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
swagger配置正式環(huán)境中不可訪問(wèn)的問(wèn)題
這篇文章主要介紹了swagger配置正式環(huán)境中不可訪問(wèn)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-06-06Spring Security獲取用戶認(rèn)證信息的實(shí)現(xiàn)流程
Spring Security是一個(gè)能夠?yàn)榛赟pring的企業(yè)應(yīng)用系統(tǒng)提供聲明式的安全訪問(wèn)控制解決方案的安全框架。它提供了一組可以在Spring應(yīng)用上下文中配置的Bean,充分利用了Spring IoC,DI和AOP功能,為應(yīng)用系統(tǒng)提供聲明式的安全訪問(wèn)控制功能2022-12-12Java ThreadLocal詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
ThreadLocal,很多地方叫做線程本地變量,也有些地方叫做線程本地存儲(chǔ),本文會(huì)詳細(xì)的介紹一下,有興趣的可以了解一下2017-06-06Spring?Security?自定義授權(quán)服務(wù)器實(shí)踐記錄
授權(quán)服務(wù)器(Authorization Server)目前并沒(méi)有集成在Spring Security項(xiàng)目中,而是作為獨(dú)立項(xiàng)目存在于Spring生態(tài)中,這篇文章主要介紹了Spring?Security?自定義授權(quán)服務(wù)器實(shí)踐,需要的朋友可以參考下2022-08-08SpringCloud之@FeignClient()注解的使用方式
這篇文章主要介紹了SpringCloud之@FeignClient()注解的使用方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09