hibernate框架简介:

  hibernate框架就是开发中在持久层中应用居多的ORM框架,它对JDBC做了轻量级的封装。

(百度介绍,感觉不错)

什么是ORM:Object Relational Mapping(对象关系映射),也就是将java中的对象和数据库中的数据表建立映射关系,当我们在操作java中的对象时就可以操作数据库中的表了。

使用hibernate框架开发流程:

hibernate开发需求创建俩个配置文件,一个是映射文件,另一个hibernate的框架配置文件。

创建映射文件,该映射文件一般命名规则是(类名.hbm.xml)。

  1. class标签:建立java类和关系数据表的映射。
  • name:类的全路径。
  • table:数据库中被建立映射的表名称,如果类名和数据库名一致该属性可以省略。
  • catalog:数据库名称。
  1. id标签:建立主键和java类中属性的映射。
  • name:与表中的主键对应的类中的属性名称。
  • column:表中的主键名。
  • length:字段的长度。
  • type:字段的数据类型。
  1. property标签:建立关系表中普通字段和java类中属性的映射。
  • name:与表中除了主键对应的类中的属性名称。
  • column:表中除了主键外的普通字段名称。
  • length:字段的长度。
  • type:字段的数据类型。
  • not-null:非空。
  • unique:唯一。

创建hibernate核心配置文件(2种:hibernate.properties----不能加载映射文件 hibernate.cfg.xml----结构清晰【通常使用这一种】)。

核心配置文件中的内容:

  • 数据库连接的基本参数:
  • hibernate的一些基本属性:
  • 加载映射文件:
     <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration>
    <session-factory>
    <!-- 数据库连接的配置: -->
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql:///hibernate_crm</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">123</property> <!-- 配置C3P0连接池: -->
    <property name="connection.provider_class">org.hibernate.connection.C3P0ConnectionProvider</property>
    <!--在连接池中可用的数据库连接的最少数目 -->
    <property name="c3p0.min_size">5</property>
    <!--在连接池中所有数据库连接的最大数目 -->
    <property name="c3p0.max_size">20</property>
    <!--设定数据库连接的过期时间,以秒为单位,如果连接池中的某个数据库连接处于空闲状态的时间超过了timeout时间,就会从连接池中清除 -->
    <property name="c3p0.timeout">120</property>
    <!--每3000秒检查所有连接池中的空闲连接 以秒为单位-->
    <property name="c3p0.idle_test_period">3000</property> <!--
    配置数据库事务的隔离级别:
    1、read uncommitted (1) : 脏读,可重复读,虚读三种情况都有可能发生。
    2、read committed (2) : 避免脏读,可重复读和虚读有可能发生。
    3、repeatable read (4) : 避免脏读和可重复读,但是虚读有可能发生。
    4、serializable (8) : 以上出现的情况都能解决。
    -->
    <property name="hibernate.connection.isolation">4</property> <!-- hibernate中设置可以使用与当前线程绑定的session连接对象: -->
    <property name="hibernate.current_session_context_class">thread</property> <!-- hibernate的相关属性配置: -->
    <!-- 必须配置:mysql的方言配置 -->
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <!-- 可选配置:显示sql、格式化sql、hbm2ddl等 -->
    <property name="hibernate.show_sql">true</property>
    <property name="hibernate.format_sql">true</property>
    <property name="hibernate.hbm2ddl.auto">update</property> <!-- 加载映射文件: -->
    <mapping resource="com/itheima/domain/Customer.hbm.xml"/>
    <mapping resource="com/itheima/domain/LinkMan.hbm.xml"/>
    <mapping resource="com/itheima/domain/User.hbm.xml"/>
    <mapping resource="com/itheima/domain/Role.hbm.xml"/> </session-factory>
    </hibernate-configuration>

Object Relational Mapping框架之Hibernate的更多相关文章

  1. ORM(Object Relational Mapping)框架

    ORM(Object Relational Mapping)框架 ORM(Object Relational Mapping)框架采用元数据来描述对象一关系映射细节,元数据一般采用XML格式,并且存放 ...

  2. Object/Relational Mapping 数学关系 反面向对象

    [hibernate ORM 是对象关系映射框架 事实上的持久化存储引擎] http://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/ ...

  3. Django中ORM介绍和字段及字段参数 Object Relational Mapping(ORM)

    Django中ORM介绍和字段及字段参数   Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简 ...

  4. Object Relational Mapping(ORM)

    Object Relational Mapping(ORM) ORM介绍 ORM概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据 ...

  5. 一:ORM关系对象映射(Object Relational Mapping,简称ORM)

    狼来的日子里! 奋发博取 10)django-ORM(创建,字段类型,字段参数) 一:ORM关系对象映射(Object Relational Mapping,简称ORM) ORM分两种: DB fir ...

  6. Django中的Object Relational Mapping(ORM)

    ORM 介绍 ORM 概念 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术. 简单的说,ORM是通过使用 ...

  7. Django框架----Object Relational Mapping(ORM)

    Django中的ORM Django项目使用MySQL数据库 1. 在Django项目的settings.py文件中,配置数据库连接信息: DATABASES = { "default&qu ...

  8. 对象-关系映射ORM(Object Relational Mapping)(转)

    ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现 Hibernate在实现ORM功能的时候主要用到的文件有:映射类(*.java).映射文件(*.hbm.xml)和数据库配置文件 ...

  9. django关系对象映射(Object Relational Mapping,简称ORM)

    Model 创建数据库,设计表结构和字段 django中遵循 Code Frist 的原则,即:根据代码中定义的类来自动生成数据库表 from django.db import models clas ...

随机推荐

  1. 网络编程--Socket(套接字)

    网络编程 网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通讯.网络编程中 有两个主要的问题,一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后 如何可靠高效的进行数据传输.在 ...

  2. 跟我一起阅读Java源代码之HashMap(三)

    上一节我们讲到了如何用散列和链表实现HashMap,其中有一个疑问今天已经有些答案了,为什么要用链表而不是数组 链表的作用有如下两点好处 1. remove操作时效率高,只维护指针的变化即可,无需进行 ...

  3. 如何检查oracle的归档空间是否满了

    如何检查oracle的归档空间是否满了   关于如何检查归档空间是否慢了,大多数人会去先检查放归档的目录的磁盘空间是否满了,通过该归档目录空余情况来判断归档空间是否满了,但我觉得这个方法不一定代表实际 ...

  4. iOS: 聊聊 Designated Initializer(指定初始化函数):NS_DESIGNATED_INITIALIZER

    总结:指定函数的调用规则: 初始化函数的调用顺序与初始化顺序相反. 上面关于指定初始化的规则讲了那么多,其实可以归纳为两点: 便利初始化函数只能调用自己类中的其他初始化方法 指定初始化函数才有资格调用 ...

  5. 8年前,令我窒息的Java socket体验学习

    本来已经放弃编程了,那时我发誓再也不去IT培训班了,如果找不到工作,我就去工地上打工.可心有不甘,老是惦记着,我不想天天面对生产线,做一个丧失思考能力的操作工,可后来呀,还是走上了程序员之路...这么 ...

  6. openssl生成证书

    数字证书: 第三方机构使用一种安全的方式把公钥分发出去 证书格式:x509,pkcs家族 x509格式: 公钥和有效期限: 持有者的个人合法身份信息:(主机名,域名) 证书的使用方式 CA的信息 CA ...

  7. 横向滑动页面,导航条滑动居中的 js 实现思路

    最近在做新闻咨询页的项目,各个新闻频道通过横向滑动切换,顶部的导航active栏需要跟着切换到对应频道,并且active到达中部时,要一直处在中间. 类似效果就是uc浏览器<UC头条>的导 ...

  8. python自动化之models 进阶操作二

    ################################################################## # PUBLIC METHODS THAT ALTER ATTRI ...

  9. 用C#给程序加启动画面并只允许一个应用程序实例运行

    . 启动画面类: public class SplashForm : System.Windows.Forms.Form { private System.Windows.Forms.PictureB ...

  10. Android working with Volley Library

    Volley提供了优美的框架,使得Android应用程序网络访问更容易和更快.Volley抽象实现了底层的HTTP Client库,让你不关注HTTP Client细节,专注于写出更加漂亮.干净的RE ...