Hibernate

Hibernate

1.ORM:对象/关系映射       即面向对象思想编写的数据库应用程序。

2.Hibernate持久层

3.hibernate流程

 

privateSessionFactory sessionFactory;

         private Session session;

         privateTransaction transaction;

//创建配置对象

                            Configurationconfiguration=new Configuration().configure();

                            //创建服务注册对象

                            ServiceRegistryserviceRegistry=newServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();

                            //创建会话工厂对象

                            sessionFactory=configuration.buildSessionFactory(serviceRegistry);

                            //会话对象

                            session=sessionFactory.openSession();

                            //开启事务

                            transaction=session.beginTransaction();//没有开启事务不会自动提交

@After

         public void destory(){

                   transaction.commit();//提交事务

                   session.close();

                   sessionFactory.close();

         }

4.session.openSession()每次创建的都是新的对象,要手动关闭session,不然会导致连接池溢出

5.映射的类要有空的构造方法不然查询会报错

6.查询get,load      当查询的不存在,get会返回null,load会报错

7.更新update

8.数据库基本操作代码

      //查询

       /*

              cake ca=new cake(200, 20,"草莓公主");

              session.save(ca);//保存对象到数据库

       */

              //更新

              /*

              cake ca=(cake)session.get(cake.class, 2);

              ca.setMsg("hello");

              session.update(ca);

              */

              //删除

              cake ca=(cake) session.get(cake.class, 2);

              session.delete(ca);

             

              //查询List

              Query query= session.createQuery("from oo.cake");

              List<cake> ca=query.list();

              for(cake a:ca){

                     System.out.println(a.getId()+" "+a.getMsg());

              }

              !注意上面红色的字体,查询不是表名,是实体类,因为映射了

9.cfg.xmlhibernate配置

      <?xml version='1.0' encoding='UTF-8'?>

<!DOCTYPE hibernate-configuration PUBLIC

          "-//Hibernate/HibernateConfiguration DTD 3.0//EN"

          "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<!--Generated by MyEclipse Hibernate Tools.                   -->

<hibernate-configuration>

 

       <session-factory>

              <property name="connection.driver_class">com.mysql.jdbc.Driver</property>

              <property name="connection.username">root</property>

              <property name="connection.password">123456</property>

              <property name="connection.url">jdbc:mysql://localhost:3306/cake?useUnicode=true&amp;characterEncoding=UTF-8</property>

             

 

              <property name="show_sql">true</property><!-- sql语句输出到控制台,编码阶段便于测试 -->

              <property name="format_sql">true</property><!-- 控制台的sql是否排版 -->

              <property name="hbm2ddl.auto">update</property><!-- 生成具体的表结构,create每次drop完,再创建;update是在原有表的基础上进行更新 -->

              <mapping resource="oo/cake.hbm.xml" />

       </session-factory>

 

</hibernate-configuration>

10.hbm.xml    在myeclipse中直接在DB Browser中点击表里面选项在项目中生成hbm.xml,编辑器一般会在cfg.xml自动配置,如上一个灰色的,不然自己手动配置

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值