• Hibernate学习笔记


    1.通过 Hibernate 连接数据库 ---配置文件

    1.创建 xml 格式的配置文件

    Hibernate 默认的 xml 格式的配置文件名称为 hibernate.cfg.xml。

    <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE hibernate-configuration
    PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
    <hibernate-configuration>
    <!--SessionFactory 配置-->
    <session-factory>
    <!--指定数据库使用的SQL方言-->
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <!--指定连接数据库用的驱动,地址,用户名,密码--> <property name="connection.driver_class">com.microsoft.jdbc.sqlserver.SQLServerDriver</property>
    <property name="connection.url">jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=数据库名</property>
    <property name="connection.username">用户名</property>
    <property name="connection.password">密码</property>
    <!--指定当程序运行时是否在控制台输出 SQL 语句。默认为false,建议调试程序为true-->
    <property name="show_sql">true</property> <!--指定当程序运行时是否按照标准格式在控制台上输出 SQL 语句。默认为 false。建议在调试程序时设为 true-->
    <property name="format_sql">true</property> <!--指定当程序运行时,是否在 SQL 语句中输出便于调试的注释信息。默认为 false。建议在调试程序时设为true-->
    <property name="use_sql_comments">true</property> <!--指定持久化类映射文件的位置,由包名与映射文件组成,包名与映射文件之间用“/” 分隔。--> <mapping resource="com/BranchForm.hbm.xml"/> </session-factory> </hibernate-configuration>

     2.创建 Java 属性文件格式的配置文件

    Hibernate 默认的 Java 属性文件格式的配置文件名称为 hibernate.properties。其基本格式如下

    #指定连接数据库使用的 SQL 方言#
    hibernate.dialect=org.hibernate.dialect.SQLServerDialect

    #指定连接数据库的驱动程序#
    hibernate.connection.driver_class=com.microsoft.jdbc.sqlserver.SQLServerDriver
    #指定连接数据库的 URL#
    hibernate.connection.url=jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseName=数据库名

    #指定连接数据库的用户名#
    hibernate.connection.username=用户名
    #指定连接数据库的密码#
    hibernate.connection.password=密码

    #指定在执行程序时,是否在控制台上输出 SQL 语句#
    hibernate.show_sql=true
    #指定是否按照标准格式在控制台上输出 SQL 语句#
    hibernate.format_sql=true
    #指定是否在 SQL 语句中输出便于调试的注释信息#
    hibernate.use_sql_comments=true 

    3.创建持久化类及映射文件

    Hibernate 从本质上来讲是一种“对象-关系型数据映射” , Hibernate 基础代码包括持久化(POJO)类和对应的映射文件。

    1.创建持久化类

    package com;

    public
    class Book { private Integer id; private String bookName; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getBookName() { return bookName; } public void setBookName(String bookName) { this.bookName = bookName; } public Book(Integer id, String bookName) { super(); this.id = id; this.bookName = bookName; }

    2.创建映射文件

    Hibernate 采用 XML 格式的文件来指定对象和关系数据库之间的映射。在 Hibernate 中,映射文件通常以“.hbm.xml” 作为后缀名,该文件与持久化类存放在同一目录下。

    <?xml version="1.0"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping>
        <class name="com.Book" table="BOOK">
            <id name="id" type="java.lang.Integer">
                <column name="ID" />
                <generator class="native" />
            </id>
            <property name="bookName" colum="BOOK_NAME" type="java.lang.String">
            </property>
        </class>
    </hibernate-mapping>

    注意:<generator>表示一个主键的生成机制。Hibernate的Generator属性有7种class。

    1)identity:用于MySql数据库。特点:递增

    注:对于MySql数据库使用递增序列时需要在建表时对主键指定为auto_increment属性。

    2)sequence:用于Oracle数据库

    3)native:跨数据库时使用,由底层方言产生。

    注:使用native时Hibernate默认会去查找Oracle中的hibernate_sequence序列。 如果Oracle中没有该序列,连Oracle数据库时会报错。

    4)hilo:通过高低位合成id,先建表hi_value,再建列next_value。必须要有初始值。

    5)sequencehilo:同过高低位合成id,建一个sequence序列,不用建表。

    6)assigned:用户自定义id;

    7)foreign:用于一对一关系共享主健时,两id值一样。

     

     <property>子元素用于设定类的属性和表字段的映射,该元素主要包括 name、 column、 type 和 not-null 属性。 

     

     4.构建 SessionFactory

    Hibernate 的 SessionFactory 接口提供 Session 类的实例, Session 类完成对数据库的操作。由于 SessionFactory 实例是线程安全的(而 Session 实
    例不是线程安全的),所以每个操作都可以共用同一个 SessionFactory 来获取 Session。
    1.XML 文件读取配置信息构建 SessionFactory

    Configuration config = new Configuration().configure("book.cfg.xml");
    SessionFactory sessionFactory = config.buildSessionFactory();

    configura()方法:用于告诉 Hibernate 加载 hibernate.cfg.xml 文件。 Configuration 在实例化时默认加载 classpath 中的 hibernate.cfg.xml

    2.Java 属性文件读取配置信息构建 SessionFactory

    Configuration config = new Configuration();
    config.addClass(Book.class);
    SessionFactory sessionFactory = config.buildSessionFactory();




     







  • 相关阅读:
    virtualbox中ubuntu和windows共享文件夹设置
    嵌入式Linux USB WIFI驱动的移植
    U-boot mkimage指定Linux内核地址时的两种方式
    ramdisk作为根文件系统的配置
    ARM Linux系统的时钟机制
    ARM Linux 如何--注册和触发--软中断
    FAT32文件系统--For TF卡
    如何编写Linux设备驱动程序
    WiFi基本知识 .
    idea插件篇之java内存分析工具(JProfiler)
  • 原文地址:https://www.cnblogs.com/mcahkf/p/8011152.html
Copyright © 2020-2023  润新知