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

spring hibernate 批量插入jdbc及hibernate方法

阅读更多
项目中需要用到批量添加,考虑到新能问题用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;
            }
        });
}



分享到:
评论
1 楼 ml365 2010-12-24  
为什么用jdbc批量操作会比hibernate方法效率更好呢?

相关推荐

    spring hibernate,spring jdbc事务管理

    两个项目,一个项目是基于spring jdbc实现的分布式事务,一个是基于spring hibernate的分布式事务,hibernate项目里的applicationContext2.xml是基于mysql和mssql, applicationContext3.xml基于两个mssql, ...

    Hibernate+JDBC实现批量插入、更新及删除的方法详解

    Hibernate+JDBC实现批量插入、更新及删除的方法详解 概述:本文主要介绍了Hibernate+JDBC实现批量插入、更新及删除的方法,通过实例形式详细分析了Hibernate与JDBC针对数据库的批量操作相关实现技巧。 知识点一:...

    Spring对Hibernate及JDBC提供的支持

    本文将深入探讨Spring如何为Hibernate和JDBC提供支持,帮助开发者更高效地进行数据访问操作。 首先,Spring对Hibernate的支持体现在其集成层面。通过Spring,我们可以将Hibernate的SessionFactory和Session对象的...

    springmvc spring hibernate整合Demo

    Spring MVC、Spring 和 Hibernate 是Java开发中非常流行的三大框架,它们分别用于Web开发、依赖管理和持久层操作。这个"springmvc spring hibernate整合Demo"旨在帮助初学者理解如何将这三个框架协同工作,实现一个...

    spring mvc + spring + hibernate 全注解整合开发视频教程 11

    在本教程中,我们将深入探讨如何使用Spring MVC、Spring和Hibernate三大框架进行全注解的整合开发。这个视频教程系列的第11部分,重点可能是建立在前几部分的基础之上,进一步深化对这三个核心技术的理解和实践。 ...

    struts2.16 spring2.56 hibernate3.2 sqljdbc4 完整jar包

    Struts2.16、Spring2.5.6、Hibernate3.2以及sqljdbc4是四个在Java开发中广泛使用的开源框架和数据库驱动,它们在构建企业级Web应用程序时起着至关重要的作用。 Struts2.16是MVC(模型-视图-控制器)设计模式的一个...

    Spring与Hibernate集成

    **Spring与Hibernate集成详解** 在Java企业级应用开发中,Spring和Hibernate是两个非常重要的框架。Spring是一个全方位的轻量级应用框架,提供了强大的依赖注入、AOP(面向切面编程)以及各种服务管理功能。而...

    Spring+hibernate整合源代码

    Spring 和 Hibernate 是两个非常重要的 Java 开发框架,它们在企业级应用开发中有着广泛的应用。Spring 是一个全面的后端应用程序框架,提供了依赖注入、面向切面编程、数据访问、事务管理等多种功能。Hibernate 则...

    hibernate + shardingjdbc +springboot 结合做的demo

    在这个示例中,我们将探讨如何将Hibernate ORM框架、ShardingSphere的ShardingJDBC模块与Spring Boot整合,构建一个高效的分布式数据库应用。这样的组合允许我们利用Hibernate的强大ORM能力,同时通过ShardingJDBC...

    springmvc spring hibernate jpa maven 整合

    这个项目"springmvc spring hibernate jpa maven 整合"就是这样一个例子,它整合了四个关键的技术组件:Spring MVC、Spring、Hibernate和JPA,以及依赖管理工具Maven。让我们详细探讨这些技术及其在项目中的作用。 ...

    Hibernate、Spring和Struts工作原理及使用理由

    【标题】:“Hibernate、Spring和Struts工作原理及使用理由” 【内容】: Hibernate是一个流行的Java持久化框架,它的核心工作原理主要包括以下步骤: 1. **读取并解析配置文件**:Hibernate通过读取hibernate....

    spring hibernate security整合

    在该接口的loadUserByUsername方法中,我们可以使用Hibernate查询用户信息,然后返回UserDetails对象,供Spring Security使用。 在实际开发中,我们可能会遇到一些常见的问题,例如事务的隔离级别设置、懒加载引起...

    SSH整合源码(Struts+Spring+Hibernate整合用户注册例子)

    SSH整合,全称为Struts、Spring和Hibernate的集成,是一种常见的Java Web开发框架组合,用于构建高效、可维护的企业级应用程序。在这个例子中,我们看到的是一个基于SSH的用户注册功能的实现,使用的开发工具是...

    SpringJDBC.rar_SpringJDBC_spring jdbc

    - 对于批量插入或更新,Spring JDBC提供了`batchUpdate()`方法,可以有效地提高性能。 5. **异常处理**: - Spring JDBC将JDBC的异常转换为Spring的`DataAccessException`家族,使得异常处理更加统一和简单。 6....

    webwork spring hibernate整合实例源代码全部jar包

    Spring框架则是Java企业级应用的事实标准,它提供了一个全面的应用程序开发框架,包括依赖注入、AOP(面向切面编程)、JDBC抽象、事务管理以及对各种持久层技术(如Hibernate)的支持。Spring的核心是IoC(Inversion...

    struts2 spring hibernate integration

    Spring还集成了数据访问层,包括JDBC、Hibernate等ORM框架,以及对其他框架如MyBatis的支持。 **Hibernate** Hibernate是一个强大的ORM框架,它将Java对象与数据库表进行映射,消除了SQL的低级编程。开发者可以使用...

    Struts2 Spring Hibernate的配置及登录实例(附源码)

    Struts2、Spring和Hibernate是Java Web开发中的三大框架,它们各自负责不同的职责:Struts2作为MVC架构的一部分,负责处理用户请求和展现视图;Spring作为一个全面的框架,提供依赖注入(DI)和面向切面编程(AOP)...

    hibernate3_jdbc_spring3_tomcat6(jar包)

    标题 "hibernate3_jdbc_spring3_tomcat6(jar包)" 暗示了这是一个关于整合Hibernate 3、JDBC、Spring 3框架,并在Tomcat 6应用服务器上运行的项目。这个项目的重点是展示如何在Java环境中高效地管理持久层操作,...

    ZK+spring+hibernate的整合

    2. **集成Hibernate**:在Spring配置文件中,我们需配置Hibernate的SessionFactory,并利用Spring的JDBC模板或HibernateTemplate进行数据访问。这一步骤包括创建Hibernate的实体类、映射文件以及数据访问接口。 3. ...

    Spring整合Hibernate.jar

    描述中提到有27个jar包,这些可能包括Spring的核心库、AOP库、ORM库,以及Hibernate的主库、JDBC驱动、持久化库等。确保正确导入所有必要的依赖是成功整合的第一步。 2. **配置Spring**:在Spring的配置文件(如`...

Global site tag (gtag.js) - Google Analytics