发布于 2017-08-18 08:48:19 | 74 次阅读 | 评论: 0 | 来源: 网友投递

这里有新鲜出炉的Hibernate教程,程序狗速度看过来!

Hibernate 开源对象关系映射框架 ORM

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。


下面小编就为大家带来一篇hibernate框架环境搭建具体步骤(介绍)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

一. 概述:hibernate框架是作用于dao层的,实现对数据的持久化保存.通过面向对象的方式操作数据库。

二. hibernate框架的搭建

1.导包

  lib目录下的required文件夹下的所有jar包.

  mysql驱动包.

2.创建数据库于表.

3.创建实体类.

4.创建实体映射文件(以crm练习Customer类为例)

  实体类名.hbm.xml

  引入约束文件


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
  "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
  "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<!-- 根元素
    package(可选):填写包名.后面凡是需要完整类名的地方,都可以省略包名了.
 -->
<hibernate-mapping package="cn.itcast.domain" >
  <!-- class:映射类与表的关系
      name属性:实体属性名
      table属性:对应的表名
   -->
  <class name="Customer" table="cst_customer" >
  <!-- id:映射主键属性名(OID)与主键列对应关系
      name属性: OID名称
      column属性(可选):主键列名,默认值就是name属性值
      length属性(可选):指定属性长度.默认值使用数据库对应列长度
      type属性(可选):指定当前列(属性)的类型.默认值会根据数据库类型自动指定类型.
        type="long"        hibernate类型
        type="java.lang.Long"  java类型
        <column name="cust_id" sql-type="bigint" ></column> 数据库类型
   -->
    <id name="cust_id" >
      <!--主键生成策略 
        increment:hibernate每次保存数据是,会查询数据库中最大的值,在最大值的基础上加1作为新的主键值(测试时使用)
      identity:主键自增,有数据库负责生成主键值
      sequence:序列,Oracle时使用
      hilo:高低位算法,适用于既不支持自增也不支持序列的库(用不着)
      native:identity|sequence|hilo自动三选一
      uuid:主键类型为字符串是使用.
      assigned:有我们手动指定ID值
        -->
      <generator class="native"></generator>
    </id>
    <!-- property:映射非主键属性名与非主键列对应关系
      name属性: 属性名
      column属性(可选):非主键列名,默认值就是name属性值
      length属性(可选):指定属性长度.默认值使用数据库对应列长度
      type属性(可选):指定当前列(属性)的类型.默认值会根据数据库类型自动指定类型.
        type="long"        hibernate类型
        type="java.lang.Long"  java类型
        <column name="cust_id" sql-type="bigint" ></column> 数据库类型
   -->
    <property name="cust_name" column="cust_name" ></property>
    <property name="cust_source" ></property>
    <property name="cust_industry" column="cust_industry" ></property>
    <property name="cust_level" column="cust_level" ></property>
    <property name="cust_phone" column="cust_phone" ></property>
    <property name="cust_mobile" column="cust_mobile" ></property>
  </class>
</hibernate-mapping>

创建主配置文件

 hibernate.cfg.xml(在src下)


<?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>
    <!-- 以下都是为sessionFactory对象配置的 -->
    <session-factory>
    <!-- 必选配置
    
      //方言
      //所有数据库的sql语句都是基于SQL99标准的
      //每个数据库遵循SQL99标准的同时,也会扩充一部分SQL语句.这些标准之外的sql语句叫做方言  mysql方言: limit 0,5
      //注意:mysql方言类一共有3个.一定要选最短的
      #hibernate.dialect org.hibernate.dialect.MySQLDialect
      //数据库驱动
      #hibernate.connection.driver_class com.mysql.jdbc.Driver
      //数据库连接url
      #hibernate.connection.url jdbc:mysql:///test
      //连接用户名
      #hibernate.connection.username gavin
      //连接密码
      #hibernate.connection.password
     -->
      <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
      <property name="hibernate.connection.url">jdbc:mysql:///hibernate_54</property>
      <property name="hibernate.connection.username">root</property>
      <property name="hibernate.connection.password">1234</property>
      <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <!-- 可选配置 
      //是否在控制台显示hibernate生成的sql
      hibernate.show_sql true
      //是否对显示到控制台的sql语句格式化
      hibernate.format_sql true
      //自动建表
      # create(测试时使用)    : 自动建表,每次启动hibernate的时候都会自动建表.
      # create-drop(测试时使用)   : 自动建表,每次启动hibernate的时候都会自动建表.释放资源时会将所有表删除.
      # update(常用)  : 自动建表,有表就不会再创建,如果已经存在的表不完全匹配.会自动修改表结构.
      # validate    : 校验表结构.不会自动建表.每次hibernate启动时都会检查表结构是否正确.
                    //不正确=>抛出异常.
    -->
      <property name="hibernate.show_sql">true</property>
      <property name="hibernate.format_sql">true</property>
      
      <property name="hibernate.hbm2ddl.auto">update</property>
      
      <!-- 指定数据库隔离级别 
        ## specify a JDBC isolation level
        #hibernate.connection.isolation 4
        mysql 默认级别是4
        Oracle 默认级别是2
      -->
      <property name="hibernate.connection.isolation">4</property>
      <!-- 配置session与当前线程绑定 -->
      <property name="hibernate.current_session_context_class">thread</property>
      
      
    <!-- 映射引入配置 
        resource属性:填写引入映射文件的路径. 相对于src目录下.
    -->
      <mapping resource="cn/itcast/domain/Customer.hbm.xml" />
    </session-factory>
  </hibernate-configuration>

以上这篇hibernate框架环境搭建具体步骤(介绍)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持PHPERZ。



最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务