`
raymond.chen
  • 浏览: 1425456 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

在mybatis中进行批量操作

 
阅读更多

1、批量删除

<delete id="deleteCollect" parameterType="Map">
	delete from FIN_PRODUCT_COLLECT 
	where fin_product_id in 
	<foreach collection="finProductIds" item="item" index="index" open="(" separator="," close=")">#{item}</foreach>
	and fin_consult_id=#{finConsultId}
</delete>

 

String[] deleteIdsArray = deleteIds.split(",");
List<Long> finProductIds = new ArrayList<Long>();
for(int i=0; i<deleteIdsArray.length; i++){
	finProductIds.add(Long.parseLong(deleteIdsArray[i]));
}

Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put("finConsultId", finConsultId);
parameters.put("finProductIds", finProductIds);
dao.deleteCollect(parameters);

 

2、批量添加

    1)范例一

<insert id="insertCollect" parameterType="java.util.Map">
	insert all 
	into FIN_PRODUCT_COLLECT (fin_consult_id,fin_product_id) values(col1, col2)  
	<foreach collection="finProductIds" item="item" separator="union all" >
	select #{finConsultId} as col1, #{item} as col2 from dual
	</foreach>
</insert>

 

String[] insertIdsArray = insertIds.split(",");
List<Long> finProductIds = new ArrayList<Long>();
for(int i=0; i<insertIdsArray.length; i++){
	finProductIds.add(Long.parseLong(insertIdsArray[i]));
}

Map<String,Object> map = new HashMap<String,Object>();
map.put("finConsultId", finConsultId);
map.put("finProductIds", finProductIds);
dao.insertCollect(map);

 

    2)范例二

<insert id="batchInsert" parameterType="java.util.List">
	insert into page_logs (PAGE_TYPE, FILE_NAME, BORROW_NID, BORROW_TYPE, BORROW_NAME, CREATE_TIME) 
	values 
	<foreach collection="list" item="item" index="index" separator="," >
		(#{item.pageType}, #{item.fileName}, #{item.borrowNid}, #{item.borrowType}, #{item.borrowName}, #{item.createTime})
	</foreach>
</insert>

 

//mapper class method
public int batchInsert(List<PageLogsEntity> list);

public class PageLogsEntity {
	private Long id;
	private String pageType;
	private String fileName;
	private String borrowNid;
	private String borrowType;
	private String borrowName;
	private Date createTime;
}

 

分享到:
评论

相关推荐

    Mybatis Plus 自定义批量插入或批量更新(根据唯一索引)

    Mybatis Plus 自定义批量插入或批量更新(根据唯一索引)

    Mybatis批量foreach merge into的用法

    Mybatis批量foreach merge into的用法 Mybatis批量foreach merge into的用法是通过Mybatis的动态SQL语法foreach循环插入实现的,这种方法可以批量插入时间价格表数据。如果某个套餐的某天的价格存在,则更新,不...

    Mybatis与JDBC批量插入MySQL数据库性能测试

    Mybatis与JDBC批量插入MySQL数据库性能测试,资源包含文档、代码和数据库。

    mybatis plus 5种批量操作性能测试

    测试在单元测试中

    Mybatis实现多表联合查询和批量插入

    在实际开发中,经常需要对多个表进行联合查询,或者对大量数据进行批量插入。本文将详细介绍如何使用Mybatis实现多表联合查询和批量插入。 一、多表联合查询 在实际开发中,经常需要对多个表进行联合查询,例如,...

    mybatis 通用分页插件和批量操作插件

    NULL 博文链接:https://hzs0502030128.iteye.com/blog/2254585

    mybatis数据操作(增删改查+批量操作)

    压缩包有eclipse包文件和操作步骤word文档 mybatis数据操作(增删改查+批量操作)

    mybatis批量添加实现1

    在数据库操作中,批量插入数据是常见的需求,尤其是在处理大量数据时,批量插入能够显著提高效率。Mybatis,作为一款轻量级的持久层框架,提供了灵活的方式来处理批量添加。本文将详细介绍如何使用Mybatis进行批量...

    MyBatis防止批量更新1

    MyBatis 是一个流行的持久层框架,它提供了插件机制来拦截 SQL 操作,以便于开发者可以在执行 SQL 语句前进行预处理或后续处理。本文将详细介绍 MyBatis 插件机制的实现原理和应用场景。 MyBatis 插件机制的实现...

    mybatis postgresql 批量删除操作方法

    在本文中,我们将实现一个批量删除操作,在前端,我们使用了一个列表页面,列表可以进行复选框的选择,后台进行关联表数据的删除。 框架介绍 我们的框架使用了 Spring Boot 和 MyBatis,数据库使用的是 PostgreSQL...

    MyBatis的关于批量数据操作的体会

    关于数据库批量插入时sql语句级的优化,我特意测试了两种方式,在StudentMapper中配置了两种insert模式。第一种对应insert value1,insert value2,,,,;第二种对应insert values (value1, value2,....)。发现后者果然...

    mybatis+Oracle做批量导入时的坑

    如果在批量操作中出现错误,应妥善处理异常,决定是回滚整个事务还是只回滚失败的部分。 总的来说,Java开发中使用MyBatis与Oracle配合进行批量导入时,关键在于如何构造正确的SQL语句以适应Oracle的特性,如使用...

    MyBatis通过BATCH批量提交的方法

    在这个例子中,我们还使用了SqlSession的flushStatements方法来提交批量操作。这个方法将所有缓存在内存中的SQL语句执行到数据库中。这可以保证数据的一致性和可靠性。 在MyBatis中,BATCH模式也可以与Mapper接口...

    MyBatis批量插入(insert)数据操作

    在实际的插入操作中,可以通过`getSqlSession().insert(method, entity)`调用Mapper中的方法,其中`method`是映射方法的ID,`entity`是传入的参数列表。 批量插入的优势在于减少了数据库的交互次数,提高了效率。但...

    Mybatis中使用updateBatch进行批量更新

    在Mybatis中,可以使用updateBatch方法来进行批量更新,以提高数据库操作的效率。可以使用逐条更新或SQL批量更新两种方式,前者简单易用,但效率较低;后者可以大大提高批量更新的效率,但需要注意SQL语句的长度和...

    MyBatis批量插入Update

    在实际测试中,使用MyBatis批量插入可以达到至少快一倍的执行效率。 MyBatis批量插入的实现可以通过使用foreach标签来实现。在XML配置文件中,我们可以使用foreach标签来批量插入数据。例如: ```xml insert into...

    MyBatis-Plus批量更新优化技巧与案例分析.zip

    包括MyBatis-Plus提供的批量更新,JdbcTemplate提供的批量更新,在xml中循环拼接sql批量更新、case when语句批量更新、replace into方式批量更新、ON DUPLICATE KEY UPDATE批量更新。 适用于对Spring Boot和数据库...

    Mybatis批量删除多表

    在实际开发中,我们经常需要对多个表进行批量删除操作,这时就需要使用MyBatis的批量删除功能。今天,我们就来讲解MyBatis中的批量删除操作。 MyBatis中的批量删除操作可以通过在Mapper文件中定义delete语句来实现...

    mybatis 根据id批量删除的实现操作

    在MyBatis中,批量删除数据是常见的数据库操作,尤其在处理大量数据时非常有用。以下是如何在MyBatis中实现根据ID批量删除的操作: ### 第一种方式:使用`&lt;foreach&gt;`标签 这种方式是在Mapper XML文件中直接使用`...

    详解MyBatis直接执行SQL查询及数据批量插入

    在使用时,需要注意SQL字符串的编写规范,理解#{}和${}的区别,以及合理利用`&lt;foreach&gt;`标签进行批量操作。这使得MyBatis不仅简化了数据库操作,也提升了开发效率。在实际应用中,应结合业务需求,合理选择查询方式...

Global site tag (gtag.js) - Google Analytics