八步详解Hibernate的搭建及使用
1.创建普通的java项目。
因为Hibernate是一个轻量级的框架,不像servlet,还必须需要tomcat的支持,Hibernate只要jdk支持即可。
2.引入jar包。
可以在项目中直接引入jar包,在:项目--->属性--->然后如下图:
另一种办法就是引入库,相当于一个文件夹,把所有的jar包放到自己新建的文件夹中。在:窗体-->选项-->然后如下图:
3.提供Hibernate的配置文件。hibernate.cfg.xml文件。完成相应的配置。
packagecom.bjpowernode.hibernate; importjava.util.Date; publicclassUser{ privateStringid; privateStringname; privateStringpassword; privateDatecreateTime; privateDateexpireTime; publicStringgetId(){ returnid; } publicvoidsetId(Stringid){ this.id=id; } publicStringgetName(){ returnname; } publicvoidsetName(Stringname){ this.name=name; } publicStringgetPassword(){ returnpassword; } publicvoidsetPassword(Stringpassword){ this.password=password; } publicDategetCreateTime(){ returncreateTime; } publicvoidsetCreateTime(DatecreateTime){ this.createTime=createTime; } publicDategetExpireTime(){ returnexpireTime; } publicvoidsetExpireTime(DateexpireTime){ this.expireTime=expireTime; } }
5.建立User.hbm.xml,此文件用来完成对象与数据库表的字段的映射。也就是实体类的那些字段需要映射到数据库表中呢。
//默认读取hibernate.cfg.xml文件 Configurationcfg=newConfiguration().configure(); SchemaExportexport=newSchemaExport(cfg); export.create(true,true);
8.那我们就开始进行操作啦,我们添加一个用户对象,看看hibernate是如何添加的呢?跟我们以前的做法有什么不同呢?
publicclassClient{ publicstaticvoidmain(String[]args){ //读取hibernate.cfg.xml文件 Configurationcfg=newConfiguration().configure(); //建立SessionFactory SessionFactoryfactory=cfg.buildSessionFactory(); //取得session Sessionsession=null; try{ session=factory.openSession(); //开启事务 session.beginTransaction(); Useruser=newUser(); user.setName("张三"); user.setPassword("123"); user.setCreateTime(newDate()); user.setExpireTime(newDate()); //保存User对象 session.save(user); //提交事务 session.getTransaction().commit(); }catch(Exceptione){ e.printStackTrace(); //回滚事务 session.getTransaction().rollback(); }finally{ if(session!=null){ if(session.isOpen()){ //关闭session session.close(); } } } } }
第八步,我们可以看到,没有我们熟悉的insert into表的sql语句了,那怎么添加进去的呢,到底添加了没?让我真实滴告诉你,确实添加进去了,不信的,可以自己尝试哦,这也是hibernate的优点,对jdbc封装的彻底,减少了我们对数据的操作时间哈。
这篇博客就是真切滴介绍了hibernate的基本用法,其中好多优点等待我们自己去发现哦,比如hibernate中的缓存机制,映射方案哦。