zoukankan      html  css  js  c++  java
  • hibernate简介以及简单配置

    Hibernate简介:

      Hibernate是一个开源对象关联关系映射的框架,他对JDBC做了轻量级的封装,使我们可以通过面向对象的思想操作数据库。

      为什么要用Hibernate:

        1: 对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码

        2:它是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现,它很大程度的简化了dao层编码工作。

            ORM:对象关系映射。简单来说就是java对象与数据库字段名的映射关系

        3:Hibernate使用java反射机制,而不是字节码增强程序来实现透明性

        4:它是一个轻量级框架,并支持各种关系型数据库,支持一对一、一对多、多对一、多对多的各种复杂关系。

      Hibernate核心控件:                              //注:核心控制也就是基本工作流程

        1:Configuration:负责配置并启动Hibernate,创建SessionFactory对象;

        2:SessionFactory:负责初始化hibernate,创建Session对象;

        3:Session:负责被持续化对象CRUD操作;

        4:Transaction:负责事务的相关操作;

        5:Query和Criteria接口:负责执行各种数据库查询

      工作流程(实现简单配置):

        1:通过Configuration对象读取并解析配置文件(hibernate.cfg.xml :主要配置Hibernate相关参数)

     1   <session-factory>
     2         <!-- 配置关于数据库连接的四个项:driverClass  url username password -->
     3         <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>    <!--加载驱动-->
     4         <property name="hibernate.connection.url">jdbc:mysql:///hibernateTest</property>      <!--配置url-->
     5         <property name="hibernate.connection.username">root</property>                 <!--用户名-->
     6         <property name="hibernate.connection.password">yezi</property>                 <!--密码-->
     7 
     8         <!-- 可以将向数据库发送的SQL语句显示出来 -->
     9         <property name="hibernate.show_sql">true</property>
    10         <!-- 格式化SQL语句 -->
    11         <property name="hibernate.format_sql">true</property>
    12         <!-- hibernate的方言 -->
    13         <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    14 
    15         <!-- 配置hibernate的映射文件所在的位置 -->
    16         <mapping resource="cn/itheima/domain/Customer.hbm.xml" />
    17     </session-factory>

        2:读取并解析映射信息,创建SessionFactory对象

        3:打开Session(会话)

        4:创建事务Transaction

        5:持久化操作,对对象进行CRUD操作

        6:提交事务

        7:关闭Session和SessionFactory对象   

     1 Configuration config = new Configuration().configure();             // Hibernate框架加载hibernate.cfg.xml文件,获取Configuration对象
     2 SessionFactory sessionFactory = config.buildSessionFactory();          //获取sessionFactory对象
     3 Session session = sessionFactory.openSession();                  //打开会话,获取Seeion对象 4 // 开启事务
     5 Transaction transaction = session.beginTransaction();              //开启事务
     6 
     7 // 操作
     8 session.save(c);                                    //通过Session对象进行操作
     9 
    10 // 事务提交
    11 // session.getTransaction().commit();
    12 transaction.commit();
    13 session.close();
    14 sessionFactory.close();
  • 相关阅读:
    摊余成本通俗解释
    存货跌价准备与折旧
    发生认定是什么
    金融负债与权益工具的区分
    应收退货成本
    使用Python和SAS 编程代写Viya分析社交网络
    用R语言编程代写和python进行社交网络中的社区检测
    python编程代写隶属关系图模型:基于模型的网络中密集重叠社区检测方法
    R语言编程代写确定聚类的最佳簇数:3种聚类优化方法
    R语言编程代写最优聚类数目k改进kmean聚类算法
  • 原文地址:https://www.cnblogs.com/EmilZs/p/9219077.html
Copyright © 2011-2022 走看看