- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 
                        查看更多
                        
                    
                每个具体类一张表映射示例  ①创建数据库连接  ②新建Java项目  ③为项目添加Hibernate支持  ④创建持久化类  ⑤为持久化类创建映射文件  ⑥修改hibernate.cfg.xml  ⑦创建工具类  ⑧编写测试类  ④创建持久化类Person.java: ④创建持久化类Worker.java: ④创建持久化类Student.java: ⑤编写映射文件Person.hbm.xml : ⑨编写测试类: 二十八  Hibernate高级功能 1. 批量插入 (1)通过Hibernate的缓存进行批量插入     使用这种方法时,首先要在Hibernate的配置文件hibernate.cfg.xml中设置批量尺寸属性hibernate.jdbc.batch_size,且最好关闭Hibernate的二级缓存以提高效率。例如:  hibernate-configuration  	 session-factory 	 	… 		property name=hibernate.jdbc.batch_size50/property    // 设置批量尺寸 		property name=hibernate.cache.use_second_level_cachefalse/property // 关闭二级缓存  	  /session-factory /hibernate-configuration  这里假设批量插入500个课程到数据中: Session session=HibernateSessionFactory.getSession(); Transaction ts=session.beginTransaction(); for(int i=0;i500;i++){ 	Kcb kcb=new Kcb(); 			// 这里设置课程号为i,在实际应用中应该是被插入的课程对象 			// 已经放在集合或数组中,这里只要取出 	kcb.setKch(i+);    	session.save(kcb); 	if(i%50==0){  	// 以50个课程为一个批次向数据库提交,此值应与配置的批量尺寸一致 		session.flush();  // 将该批量数据立即插入数据库中 		session.clear();  // 清空缓存区,释放内存供下批数据使用 	} } mit(); HibernateSessionFactory.closeSession();  (2)绕过Hibernate直接调用JDBC进行插入 由于Hibernate只是对JDBC进行了轻量级的封装,因此完全可以绕过Hibernate直接调用JDBC进行批量插入。因此上例可以改成如下代码:  Session session=HibernateSessionFactory.getSession(); Transaction ts=session.beginTransaction(); Connection conn=session.connection(); try { 	PreparedStatement  stmt=conn.prepareStatement(insert into KCB(KCH) values(?)); 	for (int i=0; i  500; i++) { 		stmt.setString(1, i+); 		stmt.addBatch();  		// 添加到批处理命令中 	} 	stmt.executeBatch();  	 	// 执行批处理任务 	} catch (SQLException e) { 		e.printStackTrace(); 	} mit(); HibernateSessionFactory.closeSession(); 2. 批量更新 (1)由Hibernate直接进行批量更新 为了使Hibernate的HQL直接支持update/delete的批量更新语法,首先要在Hibernate的配置文件hibernate.cfg.xml中设置HQL/SQL查询翻译器属性hibernate.query.factory_class。  hibernate-configuration	 	session-factory 	…… 		property name=hibernate.query.factory_class 			org.hibernate.hql.ast.ASTQueryTranslatorFactory 		/property 	/session-factory hibernate-configuration	  下面使用HQL批量更新把课程表中的XS修改为30。由于这里是用Hibernate
                您可能关注的文档
最近下载
- 消防管道(设备)强度、严密性试验记录.docx VIP
 - 耳穴比赛题库二维码公布附有答案.docx VIP
 - 现代控制理论基础.docx VIP
 - (高清版)DB4406∕T 45-2024 《中药废弃物无害化处理规范》.pdf VIP
 - 《住宅工程质量常见问题防治技术标准》.pdf VIP
 - 2025年事业单位招聘考试公共基础知识题库及答案(共500题).pdf VIP
 - 《汉尚华莲汉服公司SWOT分析及营销策略研究》20000字.docx VIP
 - 家庭中医保健按摩.pptx
 - DNVGL-ST-0126-2018 国外国际标准.pdf
 - QJ 10004-2008 半导体器件总剂量辐照试验方法.docx VIP
 
原创力文档
                        

文档评论(0)