欢迎来到天天文库
浏览记录
ID:37569733
大小:25.76 KB
页数:9页
时间:2019-05-25
《Hibernate常用API详解及源码分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、新接触一个框架的目的就是想利用这个框架来为我们做一些工作,或者是让他来简化我们的工作,利用这个框架无非就是要利用这个框架所给我们提供的API去操作我们的数据,所以利用一个框架的好坏很大一部分取决于你对这个框架API的理解程度,所以在此篇博客中我们就一起来看一下Hibernate 的API和配置文件的相信情况。下面我们一一来看一下:一:使用SchemaExport自动创建数据库表 我相信在此之前大家应该都是用最原始的方法:SQL建立数据库相关的表,然后再Java写映射写配置文件.现在我们学习了hibernate以
2、后就可以用一些偷懒的方式了,我们可以使用SchemaExport自动创建数据库,建立根据你的对象建立数据库表。下面我们来看一下具体操作:首先当然要建好POJO object, XML Mapping File(也可以使用工具根据POJO class建立),配置文件(hibernate.cfg.xml),然后运行下面的Java代码1.import org.hibernate.cfg.Configuration; 2. 3.import org.hibernate.tool.hbm2ddl.SchemaExport; 4
3、. 5. 6.public class SchemaUtil { 7. public static void main(String[] args) { 8. 9. Configuration cfg = new Configuration().configure(); 10. 11. SchemaExport schemaExport= new SchemaExport(cfg); 12. 13. schemaExport.create(false, tru
4、e); 14. 家用吸氧机价格http://www.qingyangblog.com1. } 2.} 再看看数据库,表是不是已经帮你建好了,对于我这样不熟悉数据库的人真是太方便了。 二.使用Hibernate操作数据库需要七个步骤(1)读取并解析配置文件Configuration conf = new Configuration().configure();(2)读取并解析映射信息,创建SessionFactorySessionFactory sf = conf.buildSessionFactory();(3
5、)打开SessionSession session = sf.openSession();(4)开始一个事务(增删改操作必须,查询操作可选)Transaction tx = session.beginTransaction();(5)数据库操作session.save(user);//或其它操作(6)提交事务(回滚事务)tx.commit();(tx.rollback();)(7)关闭sessionsession.close();下面我们来详细看一下这七大步骤的API:Configuration:负责管理Hibernate的
6、配置信息,这些配置信息都是从配置文件hibernate.cfg.xml或者Hibernate.properties读取的,当然也可以自定义文件名称,只要在实例化Configuration的时候指定具体的路径就家用吸氧机价格http://www.qingyangblog.com可以了;他为什么会自动加载hibernate.cfg.xml文件的呢?我们看一下configure源码就一目了然了1.public Configuration configure() throws HibernateException { 2. 3.
7、configure( "/hibernate.cfg.xml" ); 4. 5.return this; 6. 7.} 从这里我们可以看出,在hibernate源码中,他就是默认的加载hibernate.cfg.xml,当然你也可以指定加载配置文件,Configuration提供了相应的方法: public Configuration configure(String resource)public Configuration configure(URL url)public Configuration confi
8、gure(File configFile) SessionFactiory:Configuration的实例会根据当前的配置信息,构造SessionFactory实例。SessionFactory是线程安全的,一般情况下一个应用中一个数据库共享一个SessionFactory实例。 Hib
此文档下载收益归作者所有