/**
* 更新资源与菜单的关系
* @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();
}
});
}
}
分享到:
相关推荐
在描述中提到的“规范model格式接口”,可能是指创建一套标准的数据访问接口,这些接口定义了CRUD(Create、Read、Update、Delete)操作,并由SpringJdbcTemplate实现具体的数据库交互逻辑。这样做的好处是解耦了...
本文将深入探讨如何利用Spring JdbcTemplate进行CURD(Create、Read、Update、Delete)操作。 1. 创建(Create) 创建数据通常涉及插入新的记录到数据库表中。JdbcTemplate提供了`update()`方法来执行SQL的INSERT...
总之,`Spring JdbcTemplate.batchUpdate`是处理批量数据库操作的强大工具,它可以提高效率,减少与数据库的交互次数。然而,正确地使用它需要对事务管理、异常处理和性能优化有深入的理解。通过合理的配置和良好的...
SSH笔记-Spring JdbcTemplate是关于如何在Spring框架中利用JdbcTemplate进行数据库操作的教程。Spring是一个广泛应用的Java企业级应用框架,它提供了多种数据访问工具,而JdbcTemplate就是其中之一,用于简化JDBC...
SpringBoot JdbcTemplate批量操作是提高数据处理效率的重要手段,尤其在处理大量数据插入或更新时。JdbcTemplate作为Spring框架的一部分,提供了便捷且安全的数据库访问方式,它简化了JDBC的使用,避免了手动管理...
在Java的JDBC编程中,`JdbcTemplate`是Spring框架提供的一个强大且便捷的工具,用于简化数据库操作。它提供了一系列方法,包括批量处理SQL语句,极大地提高了开发效率并减少了错误的可能性。在这个场景中,我们将...
使用JdbcTemplate扩展,开发者可以创建自定义的DAO接口,这些接口定义了特定的数据库操作,然后在实现类中利用JdbcTemplate提供的模板方法来完成这些操作。例如,可能会有一个`UserDao`接口,其中包含`getUserById`...
本教程将详细讲解如何利用Spring框架实现Excel数据的批量导入,以提高数据录入效率。 首先,我们需要了解Excel文件的结构。Excel是一种常用的电子表格软件,它的数据通常存储在工作簿(Workbook)中,每个工作簿...
在Spring框架中,JdbcTemplate是用于简化数据库操作的一个重要工具。它提供了执行SQL语句的能力,包括单条语句执行和批处理。本文将详细解释如何使用JdbcTemplate来执行多条SQL语句,以及其在事务管理中的作用。 ...
在Java的Spring框架中,JdbcTemplate是一个非常重要的组件,它为数据库操作提供了简便的模板方法。在处理大量数据时,传统的分页方式可能会导致内存溢出,这时可以使用游标滚动来实现高效的分页。本篇文章将深入探讨...
本文将深入探讨如何利用`JdbcDaoSupport`进行批量插入数据的操作,以及其背后的原理和源码分析。 首先,`JdbcDaoSupport`是`AbstractJdbcDaoSupport`的子类,它提供了对JDBC访问的便捷封装,允许开发者无需直接管理...
在`SpringDemoJDBC5`项目中,我们可以看到一个完整的示例,包括配置、实体、DAO层和Service层的实现,展示了如何利用`JdbcTemplate`进行数据库操作。通过对这个项目的理解和实践,可以深入掌握`JdbcTemplate`的用法...
在这个“springBoot+springBatch批量处理数据demo”中,我们将探讨如何将这两个强大的工具结合在一起,实现高效的数据处理。 首先,SpringBoot的核心特性在于其自动配置,它通过`@SpringBootApplication`注解自动...
在Spring框架中,`JdbcTemplate`和`JdbcDaoSupport`是两个重要的组件,它们用于简化Java数据库连接(JDBC)的操作,提高了代码的可读性和可维护性。本篇文章将详细阐述这两个类的核心概念、使用场景以及如何在实际...
当使用Spring框架时,我们可以利用Spring的AOP(面向切面编程)特性来更方便地管理事务。Spring支持两种类型的事务管理:编程式事务管理和声明式事务管理。 1. **编程式事务管理**:通过编程的方式管理事务,通常是...
自封装的JdbcTemplate框架的核心目标是实现CRUD(Create, Read, Update, Delete)操作的便捷化,同时支持批量处理,以提高开发效率。设计模式在这里起到了关键作用,通过面向对象的设计,将数据库操作的复杂性封装在...
11.4.1. 使用JdbcTemplate进行批量操作 11.4.2. 使用SimpleJdbcTemplate进行批量操作 11.5. 通过使用SimpleJdbc类简化JDBC操作 11.5.1. 使用SimpleJdbcInsert插入数据 11.5.2. 使用SimpleJdbcInsert来获取自动...
Spring JDBC是Spring框架的一个核心模块,它为Java数据库连接(JDBC)提供了一种抽象层,使得开发者可以更...通过这个压缩包中的“spring-jdbc-4.0.0.jar”,开发者可以轻松地在项目中引入并利用Spring JDBC的功能。
当我们谈论"Spring+JDBC实例"时,通常是指在Spring框架中使用JDBC进行数据访问的方式,这种方式可以利用Spring提供的便利性,同时保留对数据库的直接控制。 在Spring框架中,JDBC操作被封装在`org.springframework....