`

Hibernate笔记系列01——搭建Hibernate开发环境以及第一个Hibernate项目(根据传智播客相关视频整理)

阅读更多
        使用的是Hibernate3.2.x版本。数据库采用的是MySQL5.1。实现保存用户的功能。由于主要是搭建开发环境以及写第一个测试的小应用,因此里面的代码只是简单的实现功能。
        1.下载Hibernate3.2。www.hibernate.org现在可能很难找到该版本,所以可以在百度搜索一下。下载后将压缩文件解压到本地硬盘,例如,我解压到F:\hibernate-3.2目录。
        2.安装MySQL数据库,创建一个叫hibernatefirst的数据库,然后use该数据库(关于MySQL安装以及MySQL如何创建数据库等这里就不详细说了。)
        3.在MyEclipse中新建一个Java项目(不用是Web项目,Java项目即可),取名为hibernate。在项目下新建一个Folder,取名为lib,将hibernate解压路径下的hibernate3.jar文件,以及hibernate解压路径下的lib目录下的所有jar文件一并拷贝到该lib目录下。此外,hibernate作为一个持久层框架,其底层使用的依然是JDBC,因此,需要将MySQL的JDBC驱动加入该lib目录下。这样hibernate需要的jar文件就齐了。但是这些jar文件并没有加入该项目的classpath中,因此是无法在项目中引用的。因此,选中项目下lib目录下的所有jar文件,右键—>buildpath—>Add to Buildpath。
        4.环境已经搭建好了,开始第一个简单的hibernate项目吧。在src目录下新建包:com.xiaobai.hibernate.domain,在其下创建类User,代码如下:
 1package com.xiaobai.hibernate.domain;
 2
 3import java.util.Date;
 4
 5public class User {
 6
 7    private int id;
 8    private String name;
 9    private Date birthday;
10    public int getId() {
11        return id;
12    }

13    public void setId(int id) {
14        this.id = id;
15    }

16    public String getName() {
17        return name;
18    }

19    public void setName(String name) {
20        this.name = name;
21    }

22    public Date getBirthday() {
23        return birthday;
24    }

25    public void setBirthday(Date birthday) {
26        this.birthday = birthday;
27    }

28}

29

        5.为User类编写映射文件User.hbm.xml。在com.xiaobai.hibetnate.domain包下创建该文件,作为新手肯定不知道该文件中到底应该写点什么,没关系,hibernate为我们提供的示例中有,copy过来再进行修改就好。到hibernate解压路径下的eg\org\hibernate\auction路径下,拷贝一个User.hbm.xml文件过来,将<hibernate-mapping>标签内的内容全部删除,将<hibernate-mapping>标签的package改成User类所在的包,也就是该映射文件所在的包。然后在<hibernate-mapping>标签对中添加如下内容:
1<class name="User">        
2        <id name="id">
3            <generator class="native"/>
4        </id>
5        <property name="name"/>
6        <property name="birthday"/>
7</class>
差点忘了说明,映射文件的命名是XXX.hbm.xml,其中的XXX是你所要映射的domain对象的名称,例如这里是User。
        6.编写hibernate配置文件hibernate.cfg.xml。到hibernate解压路径下的etc目录下拷贝一份到src目录下,注意不在包下,而是在src目录下。将以下代码覆盖copy过来的版本:
 1<!DOCTYPE hibernate-configuration PUBLIC
 2    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 3    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
 4
 5<hibernate-configuration>
 6    <session-factory>
 7        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
 8        <property name="hibernate.connection.url">jdbc:mysql:///hibernate</property>
 9        <property name="hibernate.connection.username">root</property>
10        <property name="hibernate.connection.password">******</property>
11        <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
12        <property name="hibernate.hbm2ddl.auto">create</property>
13        
14        <property name="show_sql">true</property>
15        <mapping resource="com/xiaobai/hibernate/domain/User.hbm.xml"/>
16    </session-factory>
17</hibernate-configuration>
前面数过,hibernate底层也是通过JDBC实现的,因此也需要提供连接数据库的信息,所以前面四条属性就不难理解了。由于hibernate能支持很多关系型数据库,那么生成sql语句时,会根据数据库不同而作一定的调整,所以,需要配置数据库方言的信息,这就是第五条所配置的。默认情况下,我们只创建了数据库,数据库中并没有User对应的表,因此,保存User对象前需要先创建表,那么第六条配置的就是这个内容。另外,第七条配置让hibernate在打印生成的sql语句。最后,不要忘了将映射文件以资源的形式加入配置文件,这就是<mapping>标签中配置的内容。这么多的属性name是不用记住的,进入hibernate解压路径,etc目录下有一个hibernate.properties文件,里面包含了所有的属性的示例。在配置的时候照猫画虎拷贝需要的过来进行修改即可。
        7.配置搞定,下面编写一个测试类,代码如下:
 1package com.xiaobai.hibernate;
 2
 3import java.util.Date;
 4
 5import org.hibernate.Session;
 6import org.hibernate.SessionFactory;
 7import org.hibernate.Transaction;
 8import org.hibernate.cfg.Configuration;
 9
10import com.xiaobai.hibernate.domain.User;
11
12public class Base {
13    public static void main(String[] args) {
14        Configuration cfg = new Configuration().configure();
15        
16        SessionFactory factory = cfg.buildSessionFactory();
17        
18        Session session = factory.openSession();
19        
20        Transaction tx = session.beginTransaction();
21        
22        User user = new User();
23        user.setName("张三");
24        user.setBirthday(new Date());
25        
26        session.save(user);
27        tx.commit();
28        
29        session.close();
30        factory.close();
31        
32        
33    }

34}

35

这段代码仅仅是为了实现功能,实际上是很不完善的,后面的文章会讨论如何写完善的合理的代码。运行该类。进入数据库,发现数据库中多了一张user表,查看里面的数据,已经添加了一条name为“张三”的数据。OK,第一个hibernate小示例完成了。
分享到:
评论

相关推荐

    传智播客_hibernate李勇笔记

    传智播客_hibernate李勇笔记是在学习李勇老师讲的hibernate3.2.5后整理的笔记

    传智播客2016hibernate框架学习笔记

    《传智播客2016 Hibernate框架学习笔记》是一份详实的教程,旨在帮助初学者和进阶者深入理解和掌握Hibernate框架。该资源包含了四天的学习内容,分别是day01、day02、day03和day04,涵盖了从基础到高级的多个主题。...

    传智播客 hibernate笔记(word+pdf+源码)

    【传智播客 Hibernate 笔记】是一份深入学习 Hibernate ORM 框架的资源集合,包括了 word 笔记、pdf 讲义、源代码以及相关分析图表和 jar 包,旨在帮助开发者全面理解并掌握 Hibernate 的核心概念与实际应用。...

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

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

    传智播客 Hibernate源码

    【压缩包子文件的文件名称列表】"00 传智播客hibernate源码"可能包含了一系列逐步讲解的材料,如课件、笔记、代码示例等,这些内容可能按照教学顺序组织,从基础概念到高级特性的实现,引导学习者一步步理解...

    传智播客 汤阳光 Hibernate 学习笔记

    传智播客 汤阳光 Hibernate 学习笔记,非常详细的hibernate学习资料!

    传智播客2016版hibernate+struts2+Spring框架资料课件+笔记

    《传智播客2016版hibernate+struts2+Spring框架学习资源详解》 在IT行业中,框架的使用是开发高效、稳定应用的关键。本资源包聚焦于三大主流Java Web框架:Hibernate、Struts2和Spring,它们在2016年时仍然是开发者...

    传智播客2016spring资料4

    标题“传智播客2016spring资料4”揭示了这是一份关于Spring框架的教育资料,特别关注的是2016年传智播客教学课程中的第四天内容。传智播客是一家知名的IT教育机构,其课程通常深入浅出,适合初学者和有一定经验的...

    传智播客JPA学习笔记修改免积分版

    ### 传智播客JPA学习笔记知识点梳理 #### 一、JPA概述与核心价值 - **定义**: JPA (Java Persistence API) 是由 Sun 官方提出的一种 Java 持久化标准,旨在为 Java 开发者提供一套统一的对象-关系映射 (ORM) 工具,...

    黑马程序员_hibernate框架开发2016版讲义和笔记资料_day1_day2_day3_day4

    6.1 案例分析:结合黑马程序员的day1至day4的讲义和笔记,深入理解在实际项目中如何应用Hibernate,解决具体问题。 总结,Hibernate作为强大的ORM框架,为Java开发者提供了便利,通过理解并熟练掌握其核心概念、...

    传智播客ppt集锦

    传智播客JDBC_所有源码与ppt Java培训教程教学课件 传智播客SCM手把手开发文档 传智播客内部数据库教学资料及上课笔记 张孝祥javaweb高级PPT 张孝祥JavaWEB课堂PPT AJAX技术入门.ppt itcast_hibernate.ppt itcast_...

    Hibernate学习笔记整理

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

    传智播客ssh+ssm五大框架笔记

    传智播客的SSH+SSM五大框架笔记,虽然缺少了Struts2的最后一天教案,但依然能提供关于这五个框架的基础知识和整合实践。通过这些笔记,你可以了解每个框架的核心概念、配置方法以及它们如何协同工作。同时,建议配合...

    传智播客ppt

    传智播客JDBC_所有源码与ppt Java培训教程教学课件 传智播客SCM手把手开发文档 传智播客内部数据库教学资料及上课笔记 张孝祥javaweb高级PPT 张孝祥JavaWEB课堂PPT AJAX技术入门.ppt itcast_hibernate.ppt itcast_...

    传智播客韩顺平Java视频教程完整版 [30.16G]

    【标题】"传智播客韩顺平Java视频教程完整版 [30.16G]" 涵盖了大量的Java编程知识,这是一个由知名讲师韩顺平主讲的全面Java教学资源。通过这个课程,学习者可以系统地掌握Java语言的基础和高级特性,提升自己的编程...

    Hibernate,hibernate笔记

    Hibernate 是一个开源的对象关系映射(ORM)框架,它允许Java开发者使用面向对象的方式来操作数据库。这个框架将数据库操作转化为对Java对象的操作,简化了数据持久化的复杂度。以下是对Hibernate的一些关键知识点的...

    传智博客Hibernate框架2016版笔记资料day01~02

    【标题】"传智博客Hibernate框架2016版笔记资料day01~02" 涵盖了对Hibernate框架的基础至进阶知识的学习,是针对2016年版本的一份详实教程。Hibernate作为Java领域内的一款强大、流行的持久化框架,它简化了数据库...

    传智播客J2EE基础班+就业班资料

    传智播客的J2EE就业班资料将这些知识与实际项目相结合,通过案例分析和实战演练,帮助学员掌握企业级开发所需的技能,提升就业竞争力。在学习过程中,不仅要理解和记忆知识点,更重要的是要动手实践,通过编写代码...

Global site tag (gtag.js) - Google Analytics