每个具体类一张表映射示例 ①创建数据库连接 ②新建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
您可能关注的文档
- 巴黎公约与TRIPS协议详细资料.ppt
- 白鹿原初稿详细资料.ppt
- ch过程管理分工授权控制详细资料.pptx
- 白银受欧美双重货币政策变动压制详细资料.pptx
- -CISP001信息安全法规政策和标准v0详细资料.ppt
- CISP新详细资料.pptx
- 百货与购物中心的区别详细资料.pptx
- Colette详细资料.ppt
- ComprehensivePracticesoflead详细资料.ppt
- 百校联盟~学普通高中高三教学质量监测地理试题及答案详细资料.ppt
- 人教版九年级英语Unit 4曾害怕课件3a-4c.pdf
- 雅思口语考题回顾:朗阁海外考试研究中心2019年10月10日Part 1考题总结.pdf
- 2026届高三地理一轮复习课件小专题河流袭夺.pptx
- 【名师原创】复习专题5 三角函数 作者:合肥市第八中学 蒲荣飞名师工作室.docx
- 高中数学一轮复习 微专题2 抽象函数.docx
- 高中数学——复习专题4 空间向量与立体几何.docx
- 高中数学一轮复习 微专题3 空间几何体中的截面、轨迹问题.docx
- 高中数学一轮复习 微专题4 空间几何体的最值、范围问题.docx
- 导流洞施工质量通病防治手册.docx
- 江苏省徐州市第一中学、徐市第三中学等五校2026届高三上学期12月月考历史试题含答案.docx
最近下载
- JUMO德国JUMO Inductive Conductivity Concentration and Temperature Transmitter CTI-750 说明书用户手册.pdf
- 07FJ05防空地下室移动柴油电站.docx VIP
- 三级公立医院绩效考核指标培训(附全文).ppt VIP
- (2026春新版)人教版三年级数学下册全册教案.doc
- 初中语文作文作业设计案例一等奖.docx VIP
- 半导体专利知识培训内容课件.pptx VIP
- 熔渣转盘离心粒化:液膜流动与破碎行为的深度剖析.docx
- 辽宁大学《软件工程》2021-2022学年期末试卷.docx VIP
- 《云计算与大数据》课程教学大纲.pdf VIP
- 中华人民共和国儿童社会福利机构基本规范.docx
原创力文档

文档评论(0)