- 1、本文档共50页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、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
- 甘肃省XB师范大学附属中学2025届高三上学期一模诊断考试地理答案.doc
- 甘肃省XB师范大学附属中学2025届高三上学期一模诊断政治含解析.doc
- 安徽省皖江名校2024-2025学年高一上学期12月联考英语无答案.doc
- 2025年1月八省联考高考综合改革适应性测高三化学陕西山西宁夏青海卷无答案.doc
- 2025年1月八省联考高考综合改革适应性测高三化学四川卷无答案.doc
- 2025年1月八省联考高考综合改革适应性测高三政治陕西山西宁夏青海卷无答案.doc
- 2025年1月内蒙古自治区普通高等学校招生考试适应性测试(八省联考)历史无答案.doc
- 2025年1月内蒙古自治区普通高等学校招生考试适应性测试(八省联考)历史含解析.doc
- 2025年1月四川省普通高等学校招生考试适应性测试(八省联考)历史含解析.doc
- 2025年1月四川省普通高等学校招生考试适应性测试(八省联考)政治无答案.doc
最近下载
- 数字音频制作课件CH2 数字音频制作基础.pptx
- 话梅企业以数化推进转型升级策略制定与实施手册.docx
- 2024年湖南网络工程职业学院单招职业技能测试题库(基础题).docx VIP
- 《烹饪卫生与安全》第二讲病原生物基础和食物中毒及其控制.ppt VIP
- 生鲜配送可行性方案范文(通用7).docx
- 2024年浙江绍兴嵊州市行政服务中心招聘编外人员5人历年公开引进高层次人才和急需紧缺人才笔试参考题库(共500题)答案详解版.docx
- 过年的年味pp.ppt VIP
- 沪教牛津版五下Unit 3 In the future课件(公开课用).ppt
- 小学六年级下册数学 期末测试卷附答案(b卷).docx
- 2024年湖南网络工程职业学院单招职业技能测试题库(含答案).docx VIP
文档评论(0)