`
xiaotao.2010
  • 浏览: 216737 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Hibernate-学习笔记01

阅读更多

第一个Hibernate小程序

 

    Hibernate配置文件:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/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/hibernate</property>
        <property name="connection.username">root</property>
        <property name="connection.password">123</property>

        <!-- JDBC connection pool (use the built-in) --><!-- 很少使用hibernate自带的连接池 -->
        <!--<property name="connection.pool_size">1</property>-->

        <!-- SQL dialect -->
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

        <!-- Enable Hibernate's automatic session context management 使用SessionFactory.getCurrentSession()方法时使用 -->
        <property name="current_session_context_class">thread</property>

        <!-- Disable the second-level cache  -->
        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">true</property>
		<property name="format_sql">true</property>
		
        <!-- Drop and re-create the database schema on startup -->
        <!-- hbm:hibernate mapping To ddl:datebase definition language-->
        <property name="hbm2ddl.auto">update</property> 
        
		<!-- 注册:告诉hibernate Model文件在哪 -->
        <mapping resource="com/ibm/hibernate/model/Student.hbm.xml"/>
        <!-- 配饰AnnotationConfiguration时使用的 -->
		<!-- <mapping class="com.ibm.hibernate.model.Teacher"/> -->
    </session-factory>

</hibernate-configuration>

 

    模型类:

package com.ibm.hibernate.model;

public class Student {
	private int id;
	private String name;
	private int age;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + id;
		return result;
	}
	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Student other = (Student) obj;
		if (id != other.id)
			return false;
		return true;
	}
	
	@Override
	public String toString() {
		
		return "id:"+id+"\tname:"+name+"\tage:"+age;
	}
}

 

  模型类配置文件:

<?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 package="com.ibm.hibernate.model">
	<class name="Student" table="STUDENT">
		<id name="id" column="ID"></id>
		<property name="name" column="NAME"></property>
		<property name="age" column="AGE"></property>
	</class>
</hibernate-mapping>

 

   测试文件:

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import com.ibm.hibernate.model.Student;


public class StudentTest {
	public static void main(String[] args) {
		Student s = new Student();
		s.setId(001);
		s.setName("Tom");
		s.setAge(10);
		
		Session session = null; 
		SessionFactory sf = null;
		Transaction t = null;
		//1、读取配置文件
		Configuration cfg = new Configuration();
		//2、通过SessionFactory  一个数据库对应一个SessionFactory
		sf = cfg.configure().buildSessionFactory();
		//3、创建session
		//此处的session并不是web中的session
		//session只有在用时,才建立concation,session还管理缓存。
		//session用完后,必须关闭。
		//session是非线程安全,一般是一个请求一个session.
		
		session = sf.openSession();
		//4、手动开启事务(可以在hibernate.cfg.xml配置文件中配置自动开启事务)
		t = session.beginTransaction();
		try {
			//5、保存数据,此处的数据是保存对象,这就是hibernate操作对象的好处
			//简单就一句话
			session.save(s);
			//6、事务成功提交/失败则回滚
			t.commit();
		} catch (HibernateException e) {
			t.rollback();
			e.printStackTrace();
		}
		//7、关闭session
		session.close();
		//8、关闭 sessionfactory
		sf.close();
	}
}

 

 

   结果显示:

 

结果 写道
Hibernate: insert into STUDENT (NAME, AGE, ID) values (?, ?, ?)

 

    数据库字段和模型字段相同,省略。

分享到:
评论

相关推荐

    hibernate-学习笔记

    【hibernate-学习笔记】 Hibernate 是一个强大的Java对象关系映射(ORM)框架,它为开发者提供了在Java应用程序中管理关系数据库数据的便捷方式。本学习笔记将深入探讨Hibernate的核心概念、配置、实体映射、查询...

    Hibernate - 学习笔记

    Hibernate是Java领域中一款强大的对象关系映射(ORM)框架,它允许开发者通过处理Java对象来操作数据库,而无需直接编写SQL语句。在使用Hibernate进行数据操作时,主要涉及三类文件:Java类(实体类)、映射文件(如...

    Hibernate -annotation 学习笔记

    【Hibernate - Annotation 学习笔记】 Hibernate 是一个流行的开源Java对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发人员可以使用面向对象的方式处理数据存储。Annotation是Hibernate提供的一种元...

    hibernate-note学习笔记

    ### hibernate-note学习笔记知识点详解 #### 一、对象持久化 **1.1 概述** 对象持久化是指将程序中的对象状态保存到非易失性存储中(如硬盘或磁盘等),以便在系统重启后仍能保留这些状态。这种技术常用于将对象的...

    Hibernate---我的Hibernate学习笔记.doc

    ### Hibernate—我的Hibernate学习笔记 #### 一、对象持久化的理论与实践 ##### 对象持久化概念 对象持久化指的是将内存中的对象状态保存至外部持久性存储设备(如硬盘),以便于日后需要时能够恢复其状态。这一...

    Hibernate学习笔记特别详细

    《Hibernate学习笔记特别详细》 Hibernate,作为一款开源的Object-Relational Mapping(ORM)框架,为Java开发者提供了强大的数据库操作支持。它简化了数据库访问的复杂性,使得开发人员可以像操作对象一样操作...

    hibernate学习笔记-01helloword

    【标题】"hibernate学习笔记-01helloworld"主要涵盖了Hibernate框架的基础入门知识,是初学者了解和掌握Hibernate的重要起点。Hibernate是一款强大的Java对象关系映射(ORM)框架,它简化了数据库操作,使得开发者...

    Hibernate学习笔记整理

    Hibernate学习笔记整理 以下是 Hibernate 框架的详细知识点: Hibernate 介绍 Hibernate 是一个 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到数据库表中。它提供了一个简洁的方式来访问和操作...

    hibernate学习笔记01

    ### Hibernate学习笔记01 #### 一、Hibernate简介与安装 **Hibernate** 是一款开源的对象关系映射(Object Relational Mapping, ORM)框架,它能够有效地简化Java应用程序与数据库之间的交互,提供了一种更为优雅...

    hibernate的学习笔记,hibernate所以知识点全,一看就能上手

    hibernate的学习笔记,hibernate所以知识点全,一看就能上手........包含代码和书写格式和图片分析~~~~hibernate的学习笔记,hibernate所以知识点全,一看就能上手........包含代码和书写格式和图片分析~~~~...

    Hibernate-day01

    【标题】:“Hibernate-day01”指的是一个关于Hibernate框架的基础学习教程,可能是一个课程或研讨会的第一天内容。Hibernate是Java开发中的一个对象关系映射(ORM)工具,它简化了数据库与Java对象之间的交互。 ...

    hibernate3.2学习笔记

    ### Hibernate 3.2 学习笔记:一对一主键关联详解 #### 一、一对一主键关联概述 在本节中,我们将详细探讨 Hibernate 3.2 中的一对一关联关系,尤其是通过主键实现的双向关联。这种关联通常出现在需要紧密绑定两个...

    hibernate框架学习笔记整理

    ### hibernate框架学习笔记整理 #### 一、Hibernate框架简介 **Hibernate框架**是一种用于Java应用的**对象关系映射**(Object-Relational Mapping, ORM)解决方案,它允许开发者使用面向对象的方式操作数据库中的表...

    hibernate个人学习笔记完整版

    【hibernate个人学习笔记完整版】是一份详尽的资料,涵盖了Hibernate框架的基础到高级应用,旨在帮助学习者深入理解和掌握这一强大的Java对象关系映射(ORM)工具。Hibernate作为Java开发中的主流ORM框架,它极大地...

    Hibernate Annotation 学习笔记

    《Hibernate Annotation 学习笔记》 在Java的持久化框架中,Hibernate以其强大的功能和易用性成为开发者首选之一。而Hibernate Annotation则是Hibernate提供的一种基于注解的实体映射方式,它极大地简化了传统XML...

    hibernate框架开发2016版视频 四天学习笔记完整版

    【hibernate框架开发2016版视频 四天学习笔记完整版】 在软件开发领域,特别是Java Web开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作,使开发者可以更专注于业务逻辑而不是...

    Hibernate3 学习笔记.ppt

    【一、O/R Mapping】 O/R Mapping,即对象关系映射,是将对象模型与关系数据库之间进行映射的技术。在Hibernate中,O/R Mapping允许开发者以面向对象的方式...学习和掌握Hibernate有助于提升Java应用的数据管理能力。

    Hibernate的学习笔记

    Hibernate的学习笔记,希望对各位有一定的帮助。

Global site tag (gtag.js) - Google Analytics