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

 更新时间:2017年06月07日 08:43:07   投稿:jingxian  
下面小编就为大家带来一篇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框架环境搭建具体步骤(介绍)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 使用nacos实现自定义文本配置的实时刷新

    使用nacos实现自定义文本配置的实时刷新

    我们都知道,使用Nacos时,如果将Bean使用@RefreshScope标注之后,这个Bean中的配置就会做到实时刷新,本文给大家介绍了如何使用nacos实现自定义文本配置的实时刷新,需要的朋友可以参考下
    2024-05-05
  • 基于SpringBoot制作一个PDF切图小工具

    基于SpringBoot制作一个PDF切图小工具

    这篇文章主要为大家详细介绍了如何基于SpringBoot制作一个PDF切图小工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • Jackson常用方法以及jacksonUtil工具类详解

    Jackson常用方法以及jacksonUtil工具类详解

    这篇文章主要介绍了Jackson常用方法以及jacksonUtil工具类详解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • 如何在SpringBoot中添加拦截器忽略请求URL当中的指定字符串

    如何在SpringBoot中添加拦截器忽略请求URL当中的指定字符串

    这篇文章主要介绍了在SpringBoot中添加拦截器忽略请求URL当中的指定字符串,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-08-08
  • Spring的@Bean和@Autowired组合使用详解

    Spring的@Bean和@Autowired组合使用详解

    这篇文章主要介绍了Spring的@Bean和@Autowired组合使用详解,Spring的@Bean注解用于告诉方法,产生一个Bean对象,然后这个Bean对象交给Spring管理,产生这个Bean对象的方法Spring只会调用一次随后会将这个Bean对象放在自己的IOC容器,需要的朋友可以参考下
    2024-01-01
  • 关于两个BeanUtils.copyProperties()的用法及区别

    关于两个BeanUtils.copyProperties()的用法及区别

    这篇文章主要介绍了关于两个BeanUtils.copyProperties()的用法及区别说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Java序列化与反序列化

    Java序列化与反序列化

    这篇文章主要介绍了Java的序列化与反序列化,序列化把一个对象Java Object变为一个二进制字节序列byte[];反序列化就是把一个二进制字节序列byte[]变为Java对象Java Object。感兴趣的小伙伴可以参考阅读
    2023-04-04
  • 解决JDK21中用不了TimeUtild问题

    解决JDK21中用不了TimeUtild问题

    在使用TimeUtil时,可能因为IDE版本不兼容导致问题,升级IDEA到2023.2以上版本可解决此问题,详细步骤可以通过评论区索取安装包或直接从官网下载,分享个人经验,希望对大家有帮助
    2024-10-10
  • 深入理解Java三大特性中的多态

    深入理解Java三大特性中的多态

    多态性是对象多种表现形式的体现。在面向对象中,最常见的多态发生在使用父类的引用来引用子类的对象。下面这篇文章主要给大家深入的介绍了Java三大特性中多态的相关资料,有需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-01-01
  • Java如何调用TSC打印机进行打印详解

    Java如何调用TSC打印机进行打印详解

    这篇文章主要给大家介绍了关于Java如何调用TSC打印机进行打印的相关资料,文中介绍了三种方法,分别是两种后台打印以及JS打印 ,三种方法都给出了详细的示例代码,需要的朋友可以参考借鉴,下面来一起看看吧
    2018-07-07

最新评论