Mybatis批量插入更新xml方式和注解方式的方法实例
2020-04-27 12:03
183 查看
前言
最近工作上遇到很多批量插入的场景,但是百度很难得到我想要的结果,而且查出来的效果不是很好~
所以就自己来写一份给大家参考,希望对大家有用
Mybatis 批量插入注解形式
@Insert("<script> INSERT INTO t_device_policy " + "(id,device_id,type,policy,create_time,update_time) " + "VALUES " + "<foreach collection = 'list' item='list' separator=',' > " + " (#{list.id},#{list.deviceId},#{list.policyType},#{list.policy},#{list.createTime},#{list.updateTime}) " + "</foreach>" + "</script>") int insert(@Param(value = "list")List<DevicePolicy> list);
Mybatis 批量插入主键存在更新注解形式
@Insert("<script> INSERT INTO t_device_policy " + "(id,device_id,type,policy " + "VALUES " + "<foreach collection = 'list' item='list' separator=',' > " + " (#{list.id},#{list.deviceId},#{list.policyType},#{list.policy}) " + "</foreach>" + "ON DUPLICATE KEY " + "UPDATE policy = VALUES(policy)" + "</script>") int insert(@Param(value = "list")List<DevicePolicy> list);
ON DUPLICATE KEY的使用场景大家知道吗?
当你设计的数据库表中的主键存在时更新对应的字段,不存在则插入。
还有一种情况就是你设计的唯一主键存在时更新对应的字段,不存在则插入。
大家可以根据自己的场景看是否需要该字段~
Mybatis 批量更新注解形式
@Insert("<script> INSERT INTO t_device_policy " + "(id,device_id,type,policy " + "VALUES " + "<foreach collection = 'list' item='list' separator=',' > " + " (#{list.id},#{list.deviceId},#{list.policyType},#{list.policy}) " + "</foreach>" + "ON DUPLICATE KEY " + "UPDATE policy = VALUES(policy)" + "</script>") int insert(@Param(value = "list")List<DevicePolicy> list);
Mybatis 批量插入xml形式
<insert id="batchAdd" parameterType="java.util.List"> INSERT INTO t_student(uid,student_id,study_days) VALUES <foreach collection="list" item="item" index="index" separator=","> (#{item.uid},#{item.studentId},#{item.studyDays}) </foreach> </insert>
Mapper中的方法为
void batch(List<StudentPo> po)
Mybatis 批量插入主键更新xml形式
<insert id="batchAdd" parameterType="java.util.List"> INSERT INTO t_student(uid,student_id,study_days) VALUES <foreach collection="list" item="item" index="index" separator=","> (#{item.uid},#{item.studentId},#{item.studyDays}) </foreach> ON DUPLICATE KEY UPDATE update_time = now() </insert>
Mapper中的方法为
void batch(List<StudentPo> po)
总结
以上为Mybatis批量操作经常使用的部分,大家可以根据需要自行提取,如果有什么问题可以留言哈~希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。
您可能感兴趣的文章:
相关文章推荐
- Spring4深入理解IOC&DI04----Bean配置方式(全类名,工厂方法,FactoryBean),配置形式(基于XML和注解),泛型依赖注入
- MyBatis笔记----MyBatis数据库表格数据修改更新的两种方法:XML与注解
- .NET更新Xml中CDATA内容的方法实例
- sql 用xml方式插入数据乱码问题解决方法
- 关于Excel操作编写的一个软件设计构思案例[连载] --保存条件设定的另一种方式:更新与插入方法
- 实例说明Spring实现AOP的2种方式(注解和XML配置)
- ibatis 批量插入,批量更新,批量删除,xml与Java代码实现方式
- .NET更新Xml中CDATA内容的方法实例
- 先码后看 spring配置bean的几种方式:xml直接配置、静态工厂、实例工厂、factory bean、注解 侵立删
- Mybatis使用注解的方式CRUD包括批量插入更新
- SQL Server XML基础学习之<6>--XML modify() 方法对 XML 数据中插入、更新或删除
- Hibernate 注解时 hibernate.hbm.xml的配置方法 以及与SSH整合里的配置方式
- MSSQL 中使用modify()方法,此方法使用XML DML语句在XML 数据中插入,更新或删除节点
- SSH深度历险(十一) AOP原理及相关概念学习+xml配置实例(对比注解方式的优缺点)
- JavaScript实现的类字典插入或更新方法实例
- SQL Server XML基础学习之<7>--XML modify() 方法对 XML 数据中插入、更新或删除
- SSH深度历险(十一) AOP原理及相关概念学习+xml配置实例(对照注解方式的优缺点)
- mybatis 注解的方式批量插入,更新数据
- MyBatis批量插入数据到Oracle数据库中的两种方式(实例代码)
- JavaScript实现的类字典插入或更新方法实例