欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

hibernate框架环境搭建具体步骤(介绍)

程序员文章站 2023-12-20 23:10:58
一. 概述:hibernate框架是作用于dao层的,实现对数据的持久化保存.通过面向对象的方式操作数据库。 二. hibernate框架的搭建 1.导包  ...

一. 概述: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框架环境搭建具体步骤(介绍)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

上一篇:

下一篇: