- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Hibernate原理与应用 主要内容 引入 安装配置 基本概念和CURD HQL和Criteria 关联映射 继承映射 集合映射 懒加载 缓存 事务 其他 Hibernate不适合的场景 与JPA的集成(annotation方式) 最佳实践 引入 模型不匹配(阻抗不匹配) Java面向对象语言,对象模型,其主要概念有:继承、关联、多态等;数据库是关系模型,其主要概念有:表、主键、外键等。 解决办法 1使用JDBC手工转换。 2使用ORM(Object Relation Mapping对象关系映射)框架来解决,主流的ORM框架有Hibernate、TopLink、OJB。 安装配置 下载地址,本教程使用3.2.5。 将下载目录/hibernate3.jar和/lib下的hibernate运行时必须的包加入classpath中: antlr.jar,cglib.jar,asm.jar,commons-collections.jar,commons-logging.jar,jta.jar,dom4j.jar 安装配置 配置文件hibernate.cfg.xml和perties,XML和properties两种,这两个文件的作用一样,提供一个即可,推荐XML格式,下载目录/etc下是示例配置文件。 可以在配置文件指定: 数据库的URL、用户名、密码、JDBC驱动类、方言等。 启动时Hibernate会在CLASSPATH里找这个配置文件。 映射文件(hbm.xml,对象模型和关系模型的映射)。在/eg目录下有完整的hibernate示例。 快速开始小例子 基本概念和CURD 开发流程 1由Domain object - mapping-db。(官方推荐) 2由DB开始,用工具生成mapping和Domain object。(使用较多) 3由映射文件开始。 基本概念和CURD Domain Object限制 1.默认的构造方法(必须的)。 2有无意义的标示符id(主键)(可选) 3非final的,对懒加载有影响(可选) Domain Java Object(User) public class User { private int id; private String name; private Date birthDay; //getter setter… } 基本概念和CURD 1.hbm.xml ?xml version=1.0? hibernate-mapping package=“cn.itcast.domain class name=User table=user id name=id generator class=native/ /id property name=name/ property name=birthday”/ /class /hibernate-mapping 主键生成器,参考文档P65 5.1.4 2.详细信息见参考文档P62 基本概念和CURD Java代码 1.初始化代码(只做一次) Configuration cfg = new Configuration(); cfg.configure(“config.cfg.xml”); 也可以通过cfg.setProperty设置属性。 SessionFactory sessionFactory = cfg.buildSessionFactory(); 2.模板代码 Session session = null;Transaction tx = null; try{ session = sessionFactory.openSession(); tx = session.beginTransaction(); //…你的代码save,delete,update,get… mit(); }catch(Exception e){ if(tx !=null)tx.rollback();throw e; }finally{ if(session != null)session.close(); } 基本概念和CURD Session的几个主要方法 1.save,persist保存数据,persist在事务外不会产生insert语句。 2.delete,删除对象 3.update,更新对象,如果数据库中没有记录,会出现异常。 4.get,根据ID查,会立刻访问数据库。 5.Load,根据ID查,(返回的是代理,不会立即访问数据库)。 6.saveOrUpdate,merge(根据ID和version的值来确定是save或update),
您可能关注的文档
- GMT常用绘图模板及技巧.pptx
- google网上产品服务分析.pptx
- GooglePlus应用及商业模式分析报告.ppt
- Google网络广告分析.ppt
- GPRS(通用分组无线服务技术)项目可行性研究报告.ppt
- GPRS技术交流方案.ppt
- GPRS疑难问题分析方法与案例.ppt
- GPRS行业应用APN业务.ppt
- GPS全球卫星定位仪项目可行性研究报告.ppt
- GPS手持机可行性研究报告.ppt
- ABB REX640 保护和控制继电器 适用于高级发电和配电应用的一体化保护装置 数据表(中文).pdf
- honeywell霍尼韦尔SmartLine® 电子远传变送器产品文档.pdf
- Fujifilm 富士胶片 ApeosWare Management Suite 2 GM1216C2-6 说明书.pdf
- Panasonic松下HBC软件YA-2KPMV1F01说明书用户手册.pdf
- Colorlight卡莱特AI智能媒体中心AX6K 产品规格书 V1.0说明书用户手册.pdf
- ABB Prerequisite SOP for ServiceNow Discovery BAU 操作说明(英语).pdf
- YJ扬杰SiC MOSFET模块 MC14HFZ12C1N规格说明书.pdf
- YJ扬杰IGBT模块 MG40P12E2A规格说明书.pdf
- YJ扬杰IGBT单管 DGB20N65CTL1K规格说明书.pdf
- ApeosWare 管理套件 系统要求 Management Suite 2 入门指南.pdf
最近下载
- 陕西省榆林市2025-2026年高三上12月联考物理试卷.docx
- 化工原理实验考试及答案.doc VIP
- 年产2000吨3-溴-1-(3-氯吡啶-2-基)-1H-吡唑-5-甲酸、600吨2-氨基-(N,3)-二甲基苯甲酰胺、500吨2-氨基-5-氰基-(N,3)-二甲基苯甲酰胺产品技改项目环境影响报告书.pdf VIP
- 抖音文案创作课件.pptx
- 如何把手机里删掉的短信找回来手机短信恢复技巧指南.docx VIP
- T∕CMATB 7001-2020 冷冻肉冷藏规范.docx VIP
- 药物治疗进展与合理用药.pptx VIP
- 儿科神经系统疾病与病例解析知到智慧树期末考试答案题库2025年浙江大学.docx VIP
- 肿瘤治疗合理用药进展.pptx VIP
- 护理质量持续改进项目——降低住院病人压疮发生率.pdf VIP
原创力文档


文档评论(0)