`

Hibernate4学习(一)入门

阅读更多

    笔者的第一个hibernate框架应用入门例子 hibernate版本号是 4.3.11

  1. hibernate核心配置文件hibernate.cfg.xml, 笔者将配置文件放在conf.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>
    
            <!-- Database connection settings -->
            <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
            <property name="connection.url">
            	jdbc:mysql://127.0.0.1:3306/lian?autoReconnect=true&amp;useUnicode=true&amp;characterEncoding=utf-8&amp;zeroDateTimeBehavior=convertToNull&amp;useSSL=false
            </property>
            <property name="connection.username">root</property>
            <property name="connection.password">root</property>
    		
            <!-- JDBC connection pool (use the built-in) -->
            <property name="connection.pool_size">5</property>
    		<!-- <property name="javax.persistence.validation.mode">none</property>  -->
    		
            <!-- SQL dialect -->
            <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
    
            <!-- Enable Hibernate's automatic session context management -->
            <property name="current_session_context_class">thread</property>
    
            <!-- Disable the second-level cache  -->
            <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property>
    
            <!-- Echo all executed SQL to stdout -->
            <property name="show_sql">true</property>
    
            <!-- Drop and re-create the database schema on startup -->
            <property name="hbm2ddl.auto">update</property>
    		
            <mapping resource="conf/hibernate/domain/Music.hbm.xml"/>
    
        </session-factory>
    
    </hibernate-configuration>
     
  2. 实体类映射文件Music.hbm.xml,该配置文件放在conf.hibernate.domain路径下
    <?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">
    
    <hibernate-mapping package="org.lian.domain">
     	<class name="Music" table="t_music">
     		<id name="id" column="id">
     			<!-- id生成策略采用uuid -->
                <generator class="uuid"/>
            </id>
            <!-- 
             id;name;singer;album; duration; author; composer; style;
             
             id,name,singer,author,composer,album,duration,style
             -->
           <!--  <property name="date" type="timestamp" column="EVENT_DATE"/> -->
            <property name="name" column="name"/>
            <property name="singer" column="singer"/>
            <property name="author" column="author"/>
            <property name="composer" column="composer"/>
            <property name="album" column="album"/>
            <property name="duration" column="duration"/>
            <property name="style" column="style"/>
        </class>
    </hibernate-mapping>
     
  3. 实体类org.lian.domain.Music.java
    public class Music {
    	private String id;
    	/**
    	 * 名称
    	 */
    	private String name;
    	/**
    	 * 歌手
    	 */
    	private String singer;
    	/**
    	 * 专辑
    	 */
    	private String album;
    	/**
    	 * 歌曲时长
    	 */
    	private String duration;
    	//作词
    	private String author;
    	//作曲
    	private String composer;
    	//风格
    	private String style;
    
     
  4. hibernateUtil.java 根据配置文件Hibernate创建SessionFactory
    public class HibernateUtil {
    	private static final SessionFactory sessionFactory = buildSessionFactory();
    
    	private static SessionFactory buildSessionFactory() {
    		try {
    			// Create the SessionFactory from hibernate.cfg.xml
    			// return new
    			// Configuration().configure("/conf/hibernate/hibernate.cfg.xml")
    			// .buildSessionFactory(new StandardServiceRegistryBuilder().build());
    			Configuration configuration = new Configuration();
    			configuration.configure("/conf/hibernate/hibernate.cfg.xml");
    			ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
    					.applySettings(configuration.getProperties()).build();
    			SessionFactory sessionFactory = configuration
    					.buildSessionFactory(serviceRegistry);
    			return sessionFactory;
    
    		} catch (Throwable ex) {
    			// Make sure you log the exception, as it might be swallowed
    			System.err.println("Initial SessionFactory creation failed." + ex);
    			throw new ExceptionInInitializerError(ex);
    		}
    	}
    
    	public static SessionFactory getSessionFactory() {
    		return sessionFactory;
    	}
    
    }
     
  5. 测试类Main.java
    public class Main {
    
    	public static void main(String[] args) {
    		// 获取session连接
    		Session session = HibernateUtil.getSessionFactory().getCurrentSession();
    		session.beginTransaction();
    		Music music = new Music();
    		music.setName("红色高跟鞋");
    		music.setAuthor("蔡健雅");
    		music.setSinger("蔡健雅");
    		music.setComposer("蔡健雅");
    		music.setAlbum("若你碰到他");
    		music.setDuration("03:26");
    		session.save(music);
    		session.getTransaction().commit();
    		// 关闭session工厂
    		HibernateUtil.getSessionFactory().close();
    	}
    }
     
分享到:
评论

相关推荐

    hibernate 映射关系学习入门 一对一映射

    本文将深入探讨 Hibernate 中的一对一映射关系,并以"hibernate 映射关系学习入门 一对一映射Eclipse源码"为主题,详细解析其概念、配置以及实际应用。 一对一映射是Hibernate中的一种关联关系,它表示两个实体之间...

    初学hibernate,hibernate入门

    **初学Hibernate,Hibernate入门** ...随着对Hibernate的深入学习,你会发现它还支持更高级的功能,如级联操作、多对一、一对多等复杂关系映射、缓存机制、延迟加载等,这些都将极大地提升你的开发效率。

    Hibernate入门案例源码

    通过深入学习和实践这个入门案例,你将能够熟练掌握Hibernate的基本操作,为进一步学习更复杂的数据库操作和高级特性打下坚实基础。记得在实践中不断尝试和调试,以便更好地理解和掌握Hibernate的精髓。

    hibernate入门学习笔记+源码

    **hibernate入门学习笔记+源码** **一、Hibernate简介** Hibernate是一个开源的对象关系映射(ORM)框架,它简化了Java应用与数据库之间的交互。通过提供对象化的数据访问方式,Hibernate消除了传统JDBC代码中的...

    Hibernate入门jar包

    本压缩包提供的是Hibernate入门所需的jar包,包括了Hibernate的核心库以及与之配合使用的相关组件。让我们深入探讨一下这些jar包以及它们在Hibernate中的作用。 1. Hibernate核心库: - `hibernate-core.jar`:这...

    hibernate学习入门一对多实体映射源码

    在这个“hibernate学习入门之一对多实体映射源码”教程中,我们将深入探讨如何在Hibernate中设置和管理一对多的关系。 一、Hibernate简介 Hibernate是Java开发人员用于处理数据库操作的强大工具,通过它,我们可以...

    MyEclipse+Hibernate快速入门中文版

    ### MyEclipse+Hibernate快速入门知识点详解 #### 一、前言 本文档旨在通过一个简单易懂的方式,介绍如何在MyEclipse环境下配置并使用Hibernate框架。这是一份非常适合初学者使用的指南,特别是对于那些希望快速...

    hibernate入门--第一个实例

    【hibernate入门--第一个实例】 Hibernate 是一个强大的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化服务。通过使用Hibernate,我们可以将数据库操作转换为对Java对象的操作,从而简化了数据库...

    hibernate教程,hibernate入门

    **Hibernate 教程:带你入门持久化框架** Hibernate 是一个流行的开源对象关系映射(ORM)框架,它为 Java 应用程序提供了便捷的数据持久化服务。本教程将引导你逐步了解 Hibernate 的基本概念、安装配置以及核心...

    Hibernate学习笔记和资料

    hibernate概述,hibernate入门Demo,hibernate配置文件详解(全局配置,实体类映射配置),配置实体规则,核心API详解(Configuration,sessionFactory,session,Transaction),hibernate中的对象状态以及刷新能缓存机制 ...

    hibernate入门小例子

    通过这个入门小例子,你可以学习到如何搭建一个简单的JavaEE Web项目,使用Hibernate进行数据操作,并连接到MySQL数据库。同时,你还将了解到如何使用sql-front这样的工具辅助数据库管理和开发。这是一个很好的起点...

    HIbernate+Maven入门demo

    本篇文章将详细介绍如何使用Hibernate和Maven进行一个简单的入门级项目搭建。 ### 1. Hibernate简介 Hibernate是Java世界中的一款主流ORM框架,它通过提供API和配置文件将Java对象与数据库表对应起来,实现了对象...

    hibernate系列(一)hibernate入门

    **hibernate系列(一)hibernate入门** 在Java世界中,ORM(Object-Relational Mapping,对象关系映射)框架是连接数据库与应用程序的重要桥梁,它将数据库中的数据与程序中的对象进行关联,使得开发者可以使用面向...

    hibernate 映射关系学习入门 多对多实体映射

    本教程将带你入门Hibernate的多对多实体映射,帮助你理解如何通过源码来实现这种复杂的关系映射。 一、Hibernate概述 Hibernate是一个对象关系映射(ORM)框架,它允许我们将Java对象(实体)与数据库表进行映射,...

    Hibernate3学习笔记(一)-hibernate概述和简单实例入门

    "Ishare_Hibernate" 这个文件名可能是包含一系列关于Hibernate学习资料的压缩包,可能包含笔记文档、示例代码、配置文件等,帮助读者深入学习和实践Hibernate3。 **详细知识点:** 1. **Hibernate概览**:解释什么...

    hibernate快速入门

    **Hibernate 快速入门** Hibernate 是一款开源的Java框架,用于简化对象关系映射(ORM)的任务,它允许开发者将数据库操作转化为对Java对象的操作,从而极大地提高了开发效率。本教程将采用最简单的实例和易懂的...

Global site tag (gtag.js) - Google Analytics