- 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常用API详解及源码分析
新接触一个框架的目的就是想利用这个框架来为我们做一些工作,或者是让他来简化我们的工作,利用这个框架无非就是要利用这个框架所给我们提供的API去操作我们的数据,所以利用一个框架的好坏很大一部分取决于你对这个框架API的理解程度,所以在此篇博客中我们就一起来看一下Hibernate?的API和配置文件的相信情况。下面我们一一来看一下:一:使用SchemaExport自动创建数据库表 我相信在此之前大家应该都是用最原始的方法:SQL建立数据库相关的表,然后再Java写映射写配置文件.现在我们学习了hibernate以后就可以用一些偷懒的方式了,我们可以使用SchemaExport自动创建数据库,建立根据你的对象建立数据库表。下面我们来看一下具体操作:首先当然要建好POJO?object,?XML?Mapping?File(也可以使用工具根据POJO?class建立),配置文件(hibernate.cfg.xml),然后运行下面的Java代码import?org.hibernate.cfg.Configuration;?import?org.hibernate.tool.hbm2ddl.SchemaExport;????public?class?SchemaUtil?{???public?static?void?main(String[]?args)?{????Configuration?cfg?=?new?Configuration().configure();????SchemaExport?schemaExport=?new?SchemaExport(cfg);????schemaExport.create(false,?true);????}??}??再看看数据库,表是不是已经帮你建好了,对于我这样不熟悉数据库的人真是太方便了。?二.使用Hibernate操作数据库需要七个步骤(1)读取并解析配置文件Configuration?conf?=?new?Configuration().configure();(2)读取并解析映射信息,创建SessionFactorySessionFactory?sf?=?conf.buildSessionFactory();(3)打开SessionSession?session?=?sf.openSession();(4)开始一个事务(增删改操作必须,查询操作可选)Transaction?tx?=?session.beginTransaction();(5)数据库操作session.save(user);//或其它操作(6)提交事务(回滚事务)mit();(tx.rollback();)(7)关闭sessionsession.close();下面我们来详细看一下这七大步骤的API:Configuration:负责管理Hibernate的配置信息,这些配置信息都是从配置文件hibernate.cfg.xml或者Hperties读取的,当然也可以自定义文件名称,只要在实例化Configuration的时候指定具体的路径就可以了;他为什么会自动加载hibernate.cfg.xml文件的呢?我们看一下configure源码就一目了然了public?Configuration?configure()?throws?HibernateException?{???configure(?/hibernate.cfg.xml?);???return?this;???}??从这里我们可以看出,在hibernate源码中,他就是默认的加载hibernate.cfg.xml,当然你也可以指定加载配置文件,Configuration提供了相应的方法:?public?Configuration?configure(String?resource)public?Configuration?configure(URL?url)public?Configuration?configure(File?configFile)?SessionFactiory:Configuration的实例会根据当前的配置信息,构造SessionFactory实例。SessionFactory是线程安全的,一般情况下一个应用中一个数据库共享一个SessionFactory实例。?Hibernate的SessionFactory接口提供Session类的实例,Session类用于完成对数据库的操作。由于SessionFactory实例是线程安全的(而Session实例不是线程安全的),所以每个操作都可以共用同一个SessionFactory来获取Session。Hibernate配置文件分为两种格式,一种是xml格式的配置文件,另一种是Java属性文
原创力文档


文档评论(0)