`
edisonlv2010
  • 浏览: 43527 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

利用Spring JdbcTemplate实现批量操作

 
阅读更多
/**
 * 更新资源与菜单的关系
 * @param operator
 * @param menuId
 * @param resourceIdList
 */
public void updateRelationshipWithMenu(final String operator, final String menuId, final List<String> resourceIdList) {
	/*
	 * 清除操作资源与指定功能模块菜单的关系
	 * 1.去除关联关系
	 * 2.去除排序编号
	 * 3.更新最后修改人,最后修改时间
	 */
	String clearSql = "UPDATE pf_resource SET menu_id = ?, resource_order = null, last_modify_by = ?, last_modify_time = ? WHERE menu_id = ?";
	jdbcTemplate.update(clearSql, new Object[] { null, operator,
			new Timestamp(Calendar.getInstance().getTime().getTime()), menuId });

	/*
	 * 重新建立操作资源与指定功能模块菜单的关系
	 * 1.建立关联关系
	 * 2.设置排序编号
	 * 3.更新最后修改人,最后修改时间
	 */
	String associateSql = null;
	if (resourceIdList.size() > 0) {
		/*获取菜单编码*/
		final String menuCode = menuDao.queryMenuCodeById(menuId);
		associateSql = "UPDATE pf_resource SET menu_id = ?, resource_order = ? , last_modify_by = ?, last_modify_time = ? WHERE id = ?";

		final long modifyTime = Calendar.getInstance().getTime().getTime();

		//批量更新
		jdbcTemplate.batchUpdate(associateSql, new BatchPreparedStatementSetter() {
			@Override
			public void setValues(PreparedStatement ps, int i) throws SQLException {
				ps.setString(1, menuId);
				ps.setString(2, menuCode + "-" + (i + 1));
				ps.setString(3, operator);
				ps.setTimestamp(4, new Timestamp(modifyTime));
				ps.setString(5, resourceIdList.get(i));
			}

			@Override
			public int getBatchSize() {
				return resourceIdList.size();
			}
		});
	}
}
分享到:
评论

相关推荐

    SpringJdbcTemplate封装工具类

    在描述中提到的“规范model格式接口”,可能是指创建一套标准的数据访问接口,这些接口定义了CRUD(Create、Read、Update、Delete)操作,并由SpringJdbcTemplate实现具体的数据库交互逻辑。这样做的好处是解耦了...

    使用Spring JDBCTemplate进行增删改查curd操作

    本文将深入探讨如何利用Spring JdbcTemplate进行CURD(Create、Read、Update、Delete)操作。 1. 创建(Create) 创建数据通常涉及插入新的记录到数据库表中。JdbcTemplate提供了`update()`方法来执行SQL的INSERT...

    Spring JdbcTemplate.batchUpdate 例子

    总之,`Spring JdbcTemplate.batchUpdate`是处理批量数据库操作的强大工具,它可以提高效率,减少与数据库的交互次数。然而,正确地使用它需要对事务管理、异常处理和性能优化有深入的理解。通过合理的配置和良好的...

    SSH笔记-Spring JdbcTemplate

    SSH笔记-Spring JdbcTemplate是关于如何在Spring框架中利用JdbcTemplate进行数据库操作的教程。Spring是一个广泛应用的Java企业级应用框架,它提供了多种数据访问工具,而JdbcTemplate就是其中之一,用于简化JDBC...

    SpringBoot JdbcTemplate批量操作的示例代码

    SpringBoot JdbcTemplate批量操作是提高数据处理效率的重要手段,尤其在处理大量数据插入或更新时。JdbcTemplate作为Spring框架的一部分,提供了便捷且安全的数据库访问方式,它简化了JDBC的使用,避免了手动管理...

    JdbcTemplate的批量方法使用

    在Java的JDBC编程中,`JdbcTemplate`是Spring框架提供的一个强大且便捷的工具,用于简化数据库操作。它提供了一系列方法,包括批量处理SQL语句,极大地提高了开发效率并减少了错误的可能性。在这个场景中,我们将...

    一个简单的spring-jdbctemplate扩展

    使用JdbcTemplate扩展,开发者可以创建自定义的DAO接口,这些接口定义了特定的数据库操作,然后在实现类中利用JdbcTemplate提供的模板方法来完成这些操作。例如,可能会有一个`UserDao`接口,其中包含`getUserById`...

    Spring框架实现Excel批量导入数据

    本教程将详细讲解如何利用Spring框架实现Excel数据的批量导入,以提高数据录入效率。 首先,我们需要了解Excel文件的结构。Excel是一种常用的电子表格软件,它的数据通常存储在工作簿(Workbook)中,每个工作簿...

    Spring 中jdbcTemplate 实现执行多条sql语句示例

    在Spring框架中,JdbcTemplate是用于简化数据库操作的一个重要工具。它提供了执行SQL语句的能力,包括单条语句执行和批处理。本文将详细解释如何使用JdbcTemplate来执行多条SQL语句,以及其在事务管理中的作用。 ...

    jdbcTemplate分页彻底解决,使用游标滚动

    在Java的Spring框架中,JdbcTemplate是一个非常重要的组件,它为数据库操作提供了简便的模板方法。在处理大量数据时,传统的分页方式可能会导致内存溢出,这时可以使用游标滚动来实现高效的分页。本篇文章将深入探讨...

    Spring JdbcDaoSupport 批量插入数据

    本文将深入探讨如何利用`JdbcDaoSupport`进行批量插入数据的操作,以及其背后的原理和源码分析。 首先,`JdbcDaoSupport`是`AbstractJdbcDaoSupport`的子类,它提供了对JDBC访问的便捷封装,允许开发者无需直接管理...

    JdbcTemplate操作数据库实现添加功能

    在`SpringDemoJDBC5`项目中,我们可以看到一个完整的示例,包括配置、实体、DAO层和Service层的实现,展示了如何利用`JdbcTemplate`进行数据库操作。通过对这个项目的理解和实践,可以深入掌握`JdbcTemplate`的用法...

    springBoot+springBatch批量处理数据demo

    在这个“springBoot+springBatch批量处理数据demo”中,我们将探讨如何将这两个强大的工具结合在一起,实现高效的数据处理。 首先,SpringBoot的核心特性在于其自动配置,它通过`@SpringBootApplication`注解自动...

    _Spring_使用 JdbcTemplate和JdbcDaoSupport.rar

    在Spring框架中,`JdbcTemplate`和`JdbcDaoSupport`是两个重要的组件,它们用于简化Java数据库连接(JDBC)的操作,提高了代码的可读性和可维护性。本篇文章将详细阐述这两个类的核心概念、使用场景以及如何在实际...

    JdbcTemplate的事务控制.docx

    当使用Spring框架时,我们可以利用Spring的AOP(面向切面编程)特性来更方便地管理事务。Spring支持两种类型的事务管理:编程式事务管理和声明式事务管理。 1. **编程式事务管理**:通过编程的方式管理事务,通常是...

    JdbcTemplate,自己封装的jdbc小框架

    自封装的JdbcTemplate框架的核心目标是实现CRUD(Create, Read, Update, Delete)操作的便捷化,同时支持批量处理,以提高开发效率。设计模式在这里起到了关键作用,通过面向对象的设计,将数据库操作的复杂性封装在...

    Spring中文帮助文档

    11.4.1. 使用JdbcTemplate进行批量操作 11.4.2. 使用SimpleJdbcTemplate进行批量操作 11.5. 通过使用SimpleJdbc类简化JDBC操作 11.5.1. 使用SimpleJdbcInsert插入数据 11.5.2. 使用SimpleJdbcInsert来获取自动...

    Spring JDBC相关jar包:spring_jdbc_4.0.0.zip

    Spring JDBC是Spring框架的一个核心模块,它为Java数据库连接(JDBC)提供了一种抽象层,使得开发者可以更...通过这个压缩包中的“spring-jdbc-4.0.0.jar”,开发者可以轻松地在项目中引入并利用Spring JDBC的功能。

    Spring+JDBC实例

    当我们谈论"Spring+JDBC实例"时,通常是指在Spring框架中使用JDBC进行数据访问的方式,这种方式可以利用Spring提供的便利性,同时保留对数据库的直接控制。 在Spring框架中,JDBC操作被封装在`org.springframework....

Global site tag (gtag.js) - Google Analytics