项目中需要用到批量添加,考虑到新能问题用jdbc实现.
记录下来,以后会用.
public void createRolePermissionBySql(final String roleId,final String[] permIds){
getHibernateTemplate().execute(new HibernateCallback() {
public Object doInHibernate(Session session)
throws HibernateException, SQLException {
if(permIds==null||permIds.length==0)
return null;
Connection conn=session.connection();
PreparedStatement ps=null;
String sql=" insert into base_role_permission (ROLE_PERM_ID,PERM_ID,ROLE_ID,CREATE_DATE)" +
" values (?,?,?,?) ";
ps=conn.prepareStatement(sql);
if(log.isDebugEnabled())
log.debug("batch add base_role_permission:"+sql);
UUIDHexGenerator uuidGenerator=null;
for(String permId:permIds){
uuidGenerator=new UUIDHexGenerator();
ps.setString(1,uuidGenerator.generate(null, null).toString());
ps.setString(2,permId);
ps.setString(3, roleId);
ps.setDate(4, DateUtils.getJavaSqlDate());
ps.addBatch();
}
int[] counts=ps.executeBatch();
ps.close();
session.flush();
session.close();
return null;
}
});
}
hibernate批量插入
public void batchSaveCardDetail(List<TCardInfo> cardDetails) {
return this.getHibernateTemplate().execute(new HibernateCallback() {
@Override
public Object doInHibernate(Session session) throws HibernateException, SQLException {
for (int i = 0; i < cardDetails.size(); i++) {
session.save(cardDetails.get(i));
if (i % 50 == 0) {
session.flush();
session.clear();
}
}
return null;
}
});
}
分享到:
相关推荐
两个项目,一个项目是基于spring jdbc实现的分布式事务,一个是基于spring hibernate的分布式事务,hibernate项目里的applicationContext2.xml是基于mysql和mssql, applicationContext3.xml基于两个mssql, ...
Hibernate+JDBC实现批量插入、更新及删除的方法详解 概述:本文主要介绍了Hibernate+JDBC实现批量插入、更新及删除的方法,通过实例形式详细分析了Hibernate与JDBC针对数据库的批量操作相关实现技巧。 知识点一:...
本文将深入探讨Spring如何为Hibernate和JDBC提供支持,帮助开发者更高效地进行数据访问操作。 首先,Spring对Hibernate的支持体现在其集成层面。通过Spring,我们可以将Hibernate的SessionFactory和Session对象的...
Spring MVC、Spring 和 Hibernate 是Java开发中非常流行的三大框架,它们分别用于Web开发、依赖管理和持久层操作。这个"springmvc spring hibernate整合Demo"旨在帮助初学者理解如何将这三个框架协同工作,实现一个...
在本教程中,我们将深入探讨如何使用Spring MVC、Spring和Hibernate三大框架进行全注解的整合开发。这个视频教程系列的第11部分,重点可能是建立在前几部分的基础之上,进一步深化对这三个核心技术的理解和实践。 ...
Struts2.16、Spring2.5.6、Hibernate3.2以及sqljdbc4是四个在Java开发中广泛使用的开源框架和数据库驱动,它们在构建企业级Web应用程序时起着至关重要的作用。 Struts2.16是MVC(模型-视图-控制器)设计模式的一个...
**Spring与Hibernate集成详解** 在Java企业级应用开发中,Spring和Hibernate是两个非常重要的框架。Spring是一个全方位的轻量级应用框架,提供了强大的依赖注入、AOP(面向切面编程)以及各种服务管理功能。而...
Spring 和 Hibernate 是两个非常重要的 Java 开发框架,它们在企业级应用开发中有着广泛的应用。Spring 是一个全面的后端应用程序框架,提供了依赖注入、面向切面编程、数据访问、事务管理等多种功能。Hibernate 则...
在这个示例中,我们将探讨如何将Hibernate ORM框架、ShardingSphere的ShardingJDBC模块与Spring Boot整合,构建一个高效的分布式数据库应用。这样的组合允许我们利用Hibernate的强大ORM能力,同时通过ShardingJDBC...
这个项目"springmvc spring hibernate jpa maven 整合"就是这样一个例子,它整合了四个关键的技术组件:Spring MVC、Spring、Hibernate和JPA,以及依赖管理工具Maven。让我们详细探讨这些技术及其在项目中的作用。 ...
【标题】:“Hibernate、Spring和Struts工作原理及使用理由” 【内容】: Hibernate是一个流行的Java持久化框架,它的核心工作原理主要包括以下步骤: 1. **读取并解析配置文件**:Hibernate通过读取hibernate....
在该接口的loadUserByUsername方法中,我们可以使用Hibernate查询用户信息,然后返回UserDetails对象,供Spring Security使用。 在实际开发中,我们可能会遇到一些常见的问题,例如事务的隔离级别设置、懒加载引起...
SSH整合,全称为Struts、Spring和Hibernate的集成,是一种常见的Java Web开发框架组合,用于构建高效、可维护的企业级应用程序。在这个例子中,我们看到的是一个基于SSH的用户注册功能的实现,使用的开发工具是...
- 对于批量插入或更新,Spring JDBC提供了`batchUpdate()`方法,可以有效地提高性能。 5. **异常处理**: - Spring JDBC将JDBC的异常转换为Spring的`DataAccessException`家族,使得异常处理更加统一和简单。 6....
Spring框架则是Java企业级应用的事实标准,它提供了一个全面的应用程序开发框架,包括依赖注入、AOP(面向切面编程)、JDBC抽象、事务管理以及对各种持久层技术(如Hibernate)的支持。Spring的核心是IoC(Inversion...
Spring还集成了数据访问层,包括JDBC、Hibernate等ORM框架,以及对其他框架如MyBatis的支持。 **Hibernate** Hibernate是一个强大的ORM框架,它将Java对象与数据库表进行映射,消除了SQL的低级编程。开发者可以使用...
Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自负责不同的职责:Struts2作为MVC架构的一部分,负责处理用户请求和展现视图;Spring作为一个全面的框架,提供依赖注入(DI)和面向切面编程(AOP)...
标题 "hibernate3_jdbc_spring3_tomcat6(jar包)" 暗示了这是一个关于整合Hibernate 3、JDBC、Spring 3框架,并在Tomcat 6应用服务器上运行的项目。这个项目的重点是展示如何在Java环境中高效地管理持久层操作,...
2. **集成Hibernate**:在Spring配置文件中,我们需配置Hibernate的SessionFactory,并利用Spring的JDBC模板或HibernateTemplate进行数据访问。这一步骤包括创建Hibernate的实体类、映射文件以及数据访问接口。 3. ...
描述中提到有27个jar包,这些可能包括Spring的核心库、AOP库、ORM库,以及Hibernate的主库、JDBC驱动、持久化库等。确保正确导入所有必要的依赖是成功整合的第一步。 2. **配置Spring**:在Spring的配置文件(如`...