JavaEE--------> Hibernate入门

使用Hibernate执行持久化操作需要的七个步骤     

 

      Hibernate中一个 test 类中的 Configuration conf = new Configuration().configure ;   这行代码是起到什么作用的呢? 就是用来获取 Hibernate.cfg.xml 中信息的 .

 

      SessionFactory sf = conf.buildSessionFactory() 这行就是用来获取一个连接工厂, 类似于我们JDBC类中的

dbConnection= DriverManager.getConnection(URL,USER,PSAAWORD) , 就是创建一个dbConnection .

 

      Session session = sf.openSession();  就相当于获得一个连接 .

 

      Transaction tx = session.beginTransaction() ; 开始事务

 

      session.save(Object) 持久化操作 就是以一个对象的形式把数据放进了数据库中, 从程序员的角度看, 一切皆对象.

而里面的Object则不一定, 也可以是其它的参数.

 

      tx.commit()  提交事务 ;

 

      tx.rollback() 假入提交失败的话, 会将事务回滚, 前面的commit()不成立, 避免数据的错误.

 

      session.close(); 关闭session .

 

      写完后, 试了下, 在这里创建了一个JavaProject , 之后创建了一个Test数据库, 之中只有一个person , 记录 user 的基本信息 , 之后在项目中加入Hibernate 组件,在Hibernate的配置之中, 我通常使用,Myeclipse Database Explorer 创建好的 数据库, 那样的话, 有关要使用的数据库相关信息 在选中Myeclipse Database Explorer 里面的DataSource 名之后就OK 了 , 不需要我们在继续配置了 .

      这样之后 Hibernate.cfg.xml 文件就基本弄好了, 之后我们要弄弄对应实体类的映射文件 hbm.xml 了 , 这个其实在Myeclipse Database Explorer中 就能够搞定 , 右键选中要映射的表, 在弹出的下拉列表中选择 Hibernate Reverse Engineering 之后 ,弹出的对话框会有多种配置供我选择, 我只需要在其中选择三种:

 

          第一个选择那就是 生成的映射文件和pojo 类要存放的区域( 也就是要放在那个包中 ) ;

 

          第二个选择就是 是否要生成hbm.xml 文件? 生成, 好 , 那选 勾 ;

 

          第三个选择就是 是否要生成POJO类? 生成? 好 , 同样上面的操作.

 

finish 之后 , 我创建的entity 包中就生成 对应数据库表 person 的 POJO类 Person 类, 里面有这和 person表中同样个数, 同样名称, 同样类型的 属性, 及若干的构造方法 ( 至少是2个 , 一个默认的构造方法 , 一个包含了所有属性的构造方法, 还有在表中是 not null 字段的属性 组成的构造方法)  之后还有类中所有属性的setter  getter 方法 ;

 

               还有一个Person.hbm.xml 文件 是记录了POJO类中的那个属性和 Person 表中哪列对应的 .

 

            至此, 完成了2部 ,最后就是一个HibernateTest 类的编写了 .

 首先需要有一个void main()  然后在类中另写一个方法 , 内容如下:

      public void addTest() {
  SessionFactory sf = null;
  Session session = null;
  Transaction tx = null;
  try {
   Configuration cf = new Configuration().configure();
   sf = cf.buildSessionFactory();
   session = sf.openSession();
   tx = session.beginTransaction();
   Person person = new Person();
   person.setUserName("joyhouse");
   person.setPassword("pig");
   session.save(person);
   tx.commit();
  } catch (HibernateException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
   tx.rollback();
  } finally {
   session.close();
  }
 }

 

Configuration cf = new Configuration().configure();

这里调用了 Hibernate.cfg.xml 文件 .

   

     

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值