`

Hibernat马士兵—第01课,HelloWorld

 
阅读更多

刚刚看了马士兵讲解的Hibernate的视频教程,现在吧学习笔记整理出来。

问题描述:

 

做一个HelloWorld的Demo程序

问题求解:

一、创建数据库和表

Create Database  hibernate;
Create Table sutdent(id int primary key, name varchar(20), age int);

二、写与之相关的Model类

package com.liberD.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;
    }

}

三、添加相应的Hibernate的Jar包和数据库驱动Jar包


注:把hibernate3.jar和lib下的required中的包全部加入。数据库驱动视数据库而定。
MyEclipse中添加Jar的方法:

MyEclipse添加JAR包的新方法:Windows—>Preferences—>Java—>Build Path—>User Libraries—>New,创建一个新的JAR包集合。然后添加相应的JAR包。

选中需要添加JAR包的项目,右击,选Build Path—>Add Libraries—>User Libraries再选合适的OK了!


四、在Model类所在的包(此处为:com/liberD/hibernate/model/)添加映射配置文件Student.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 package="com.liberD.hibernate.model">
    <class name="Student" table="student">
        <!-- 如果是Model类和表名一样,则table属性可以省略 -->
        <id name="id" column="id"></id>
        <!--
            指定数据库主键,
            name指定Model类中的属性,column属性指定表中的列。如果是Model类属性和列名一样,则column属性可以省略
        -->
        <property name="name" column="name"></property><!-- 指定其他属性 -->
        <property name="age" column="age"></property>
    </class>
</hibernate-mapping>


五、在src目录中添加配置文件hibernate.cfg.xml。


<?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://localhost:3306/hibernate</property>
        <property name="connection.username">root</property>
        <property name="connection.password">adai119</property>

        <!--
            JDBC connection pool (use the built-in) Hibernate自带的连接池,一般不用,注释掉!
        -->
        <!--  <property name="connection.pool_size">1</property> -->

        <!-- SQL dialect(方言)用于指定何种数据库,可以在Hibernate的文档中查到 -->
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>

        <!-- Enable Hibernate's automatic session context management -->
        <!--
            <property name="current_session_context_class">thread</property>
        -->

        <!-- Disable the second-level cache  二级缓存,优化Hibernate时再说!-->
        <property name="cache.provider_class">
            org.hibernate.cache.NoCacheProvider
    </property>

        <!-- Echo all executed SQL to stdout 是否显示生成的SQL生成语句!开发时,一定要显示,方便调试! -->
        <property name="show_sql">true</property>

        <!--
            Drop and re-create the database schema on startup hbm是Hibernate
            Maping ddl是数据定义语句 这句话的意思是:是否要Hibernate指定映射成数据定义语句。
        -->
        <!--  <property name="hbm2ddl.auto">update</property> -->
        <property name="myeclipse.connection.profile">MySQL</property>

        <mapping resource="com/liberD/hibernate/model/Student.hbm.xml" />
    </session-factory>
</hibernate-configuration>


六、写测试类测试:


package com.liberD.hibernate.model;

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

public class StudentTest {

    public static void main(String[] args) {
        Student s = new Student();
        s.setId(1);
        s.setName("s1");
        s.setAge(1);

        Configuration cfg = new Configuration();
        SessionFactory sf = cfg.configure().buildSessionFactory();// 默认读取的是sre下面的hibernate.cfg.xml
        Session session = sf.openSession();
        session.beginTransaction();
        session.save(s);
        session.getTransaction().commit();
        session.close();

    }
}


七、输出结果:

Hibernate: insert into student (name, age, id) values (?, ?, ?)


总结反思:

其中,出现了两个小问题,这里也说明一下,
1、请在<mapping resource="ModelClassName.hbm.xml" />标签中填写上诉类的映射。否则会出错。具体见实例。
2、注意密码等等基本配置问题!    

调试了这两个小问题,让我花了半天时间!!希望以后注意!

 

 

更多内容,请见我的博客:“地瓜哥”,http://www.diguage.com/

 

 

 

分享到:
评论

相关推荐

    Hibernate教程01_Hibernate的HelloWorld及基本配置

    Hibernate教程01_Hibernate的HelloWorld及基本配置 http://blog.csdn.net/e421083458/article/details/8794127 该源码为Hibernate教程配套源码

    Hibernate笔记 马士兵

    第6课 第一个示例Hibernate HelloWorld 7 第7课 建立Annotation版本的HellWorld 9 第8课 什么是O/R Mapping 11 一、 定义: 11 二、 Hibernate的创始人: 11 三、 Hibernate做什么: 12 四、 Hibernate存在的原因: ...

    马士兵Hibernate文档

    根据提供的文件信息,“马士兵Hibernate文档”是一份与马士兵Hibernate视频教程相匹配的文档资料。这份文档旨在为学习者提供全面、详细的Hibernate框架的学习资料,帮助他们更好地理解和掌握Hibernate的相关概念和...

    hibernate_HelloWorld

    【hibernate_HelloWorld】项目是一个入门级的教程,旨在帮助初学者了解并实践Hibernate框架的基本用法。Hibernate是一个强大的Java对象关系映射(ORM)框架,它简化了数据库与Java应用程序之间的交互,使开发者可以...

    Hibernate 4——Hello World

    在`hibernate4_HelloWorld`示例中,你可能找到了类似的代码片段,它们演示了上述的CRUD操作。运行这个示例,你可以看到Hibernate如何自动化处理与数据库的交互,使得代码更加简洁和易读。 通过以上步骤,你已经成功...

    马士兵hibernate学习笔记(原版)

    ### 马士兵Hibernate学习笔记知识点总结 #### 一、课程内容概览 - **HelloWorld**:通过简单的示例程序介绍如何启动一个基于Hibernate的Java项目。 - **Hibernate原理模拟**:解释O/R Mapping的概念及其重要性。 -...

    一个简单的hibernate helloworld

    【标题】"一个简单的hibernate helloworld"指的是在Java编程环境中使用Hibernate框架进行的初次实践,这个项目是为了帮助开发者快速理解并上手Hibernate。Hibernate是一个开源的对象关系映射(ORM)框架,它允许开发...

    马士兵hibernate笔记

    在第1至第6课中,教程从基础入手,介绍了Hibernate的基本概念,包括UML图的使用,以及如何创建第一个简单的Hibernate项目`HibernateHelloWorld`。在第7课,通过建立基于Annotation的`HelloWorld`示例,读者可以学习...

    Spring MVC+hibernate helloworld

    这个简单的HelloWorld实例展示了Spring MVC和Hibernate的集成,以及如何进行基本的数据验证。 通过这个实例,你可以了解到如何将Spring MVC用于处理HTTP请求,使用Hibernate进行数据库操作,以及如何结合Spring的...

    马士兵java框架hibernate学习笔记

    #### 一、HelloWorld - **知识点概述**: - **项目搭建**:介绍了如何从零开始搭建一个简单的Hibernate项目。 - **环境配置**:包括了如何配置MySQL数据库、创建必要的表结构,并设置Hibernate的核心配置文件`...

    马士兵hibernate学习笔记.docx

    2. **HelloWorld**:这是学习任何新框架时的传统起点,通过一个简单的示例程序展示如何在项目中引入Hibernate,配置并运行第一个查询,帮助理解其基本用法。 3. **Hibernate原理模拟**:这部分深入讲解了Hibernate...

    马士兵老师搭建hibernate环境时用到的jar包

    马士兵老师是一位知名的Java教育专家,他通过视频教程分享了如何搭建Hibernate开发环境。在这个过程中,使用正确的jar包是至关重要的。以下是对马士兵老师搭建Hibernate环境时所需jar包的详细解释: 1. **Hibernate...

    Hibernate 简单应用 第一课 免费下载

    Hibernate 简单应用 第一课 免费下载 Hibernate 简单应用 第一课 免费下载 Hibernate 简单应用 第一课 免费下载 Hibernate 简单应用 第一课 免费下载 Hibernate 简单应用 第一课 免费下载 Hibernate 简单应用 第一课...

    hibernate-helloworld

    总结来说,"hibernate-helloworld"项目是一个学习Hibernate基础的绝佳起点。通过这个项目,你可以了解到如何配置Hibernate,创建和管理实体,使用Ant工具进行项目构建,以及执行基本的数据库操作。理解并掌握这些...

    hibernate的helloworld版

    "Hibernate的HelloWorld版"是学习Hibernate的入门教程,通过一个简单的例子,帮助初学者理解Hibernate的基本工作原理和配置。 **描述:“如果你没学过Hibernate,但是又想看一下它的最简单形式。这个应该适合你。”...

    马士兵hibernate_Jar包 全

    在Java开发领域,Hibernate是一个备受青睐的对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者能够更专注于业务逻辑而不是底层SQL语句。本资源集合整理了所有用于搭建和运行Hibernate项目所需的Jar包...

    马士兵hibernate文档.doc

    《马士兵hibernate文档详解》 Hibernate是一个强大的对象关系映射框架,它极大地简化了Java应用程序对数据库的操作。在本文档中,我们将深入探讨Hibernate的一些核心概念和配置选项,以便更好地理解和应用这个框架...

    hibernate的第一个例子

    **标题解析:**“hibernate的第一个例子”表明这是一个关于Hibernate框架的基础教程,主要目标是展示如何使用Hibernate进行数据持久化操作。 **描述分析:**描述提到这是一个超级简单的例子,包含一个持久化对象...

    马士兵hibernate hibernate

    对于注解版本的HelloWorld,你需要创建实体类并添加对应的注解,比如@Entity表示一个数据库表,@Table指定表名,@Id和@GeneratedValue用于ID生成。在配置文件中,通过`&lt;mapping class="..."/&gt;`引入注解类,然后按照...

Global site tag (gtag.js) - Google Analytics