`
Ydoing
  • 浏览: 106031 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Hibernate入门与实例

 
阅读更多

Hibernate是一种ORM(对象关系/关系数据库)框架,其简单概念就是将Java中的对象映射为关系数据库中的表。程序员只需要操作Java中的对象,即只关心业务逻辑操作,Hibernate就会自动将业务逻辑操作翻译为底层SQL语句进行处理,程序员无需关系数据库中的操作。

首先建立POJO对象,这个对象将映射数据库中的表Employee:

package com.ydoing.domain;
public class Employee {
    private int id;
    private String firstName;
    private String lastName;
    private int salary;
    public Employee() {
    }
    public Employee(String fname, String lname, int salary) {
        this.firstName = fname;
        this.lastName = lname;
        this.salary = salary;
    }
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getFirstName() {
        return firstName;
    }
    public void setFirstName(String first_name) {
        this.firstName = first_name;
    }
    public String getLastName() {
        return lastName;
    }
    public void setLastName(String last_name) {
        this.lastName = last_name;
    }
    public int getSalary() {
        return salary;
    }
    public void setSalary(int salary) {
        this.salary = salary;
    }
} 

然后建立java对象与关系数据库中的表的关系,用Employee.hbm.xml来描述,放在src目录下:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC 
 "-//Hibernate/Hibernate Mapping DTD//EN"
 "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping package="com.ydoing.domain">
   <class name="Employee" table="EMPLOYEE">
      <meta attribute="class-description">
         This class contains the employee detail. 
      </meta>
      <id name="id" type="int" column="id">
         <generator class="native"/>
      </id>
      <property name="firstName" column="first_name" type="string"/>
      <property name="lastName" column="last_name" type="string"/>
      <property name="salary" column="salary" type="int"/>
   </class>
</hibernate-mapping> 

还需要告诉Hibernate数据库的信息,用hibernate.cfg.xml描述,放在src目录下::

<?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>
        <property name="hibernate.dialect">
            org.hibernate.dialect.MySQL5Dialect
        </property>
        <property name="show_sql">true</property>
        <property name="hibernate.connection.driver_class">
            com.mysql.jdbc.Driver
        </property>
        <property name="hibernate.connection.url">
            jdbc:mysql://localhost/test
        </property>
        <property name="hibernate.connection.username">
            root
        </property>
        <property name="hibernate.connection.password">
            jiangyu
        </property>
        <mapping resource="Employee.hbm.xml" />
    </session-factory>
</hibernate-configuration> 

用 MySQL来储存数据:

CREATE TABLE `employee` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `first_name` varchar(20) DEFAULT NULL,
  `last_name` varchar(20) DEFAULT NULL,
  `salary` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;

测试类:

package com.ydoing.test;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;

import com.ydoing.domain.Employee;

public class Main {
    public static void main(String[] args) {
        Configuration conf = new Configuration();
        conf.configure();
        // ServiceRegistry serviceRegistry = new
        // ServiceRegistryBuilder().applySettings(conf.getProperties())
        // .buildServiceRegistry();
        ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(conf.getProperties())
                .build();
        SessionFactory factory = conf.buildSessionFactory(serviceRegistry);
        Session session = factory.openSession();
        Employee emp = new Employee();
        emp.setFirstName("Mac");
        emp.setLastName("Jack");
        emp.setSalary(100);
        Transaction tx = session.getTransaction();
        tx.begin();
        session.save(emp);
        tx.commit();
        session.close();
    }
}

控制台输出:

Hibernate: insert into EMPLOYEE (first_name, last_name, salary) values (?, ?, ?) 

查看MySQL数据
这里写图片描述

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    hibernate入门简单实例

    以下是关于Hibernate入门的一些关键知识点: 1. **对象关系映射(ORM)**:ORM是将数据库中的表映射为Java类的过程,通过这种方式,我们可以使用面向对象的编程方式来操作数据,而无需直接编写SQL语句。 2. **...

    Hibernate入门案例源码

    【Hibernate入门案例源码】是针对初学者设计的一份教程,旨在帮助理解并掌握Java持久化框架Hibernate的基础应用。Hibernate是一个强大的ORM(对象关系映射)框架,它简化了数据库与Java对象之间的交互,使开发者可以...

    Hibernate入门实例

    hibernate入门实例,内容是增加人员信息实例,手动配置相关配置文件、pojo类,测试数据。后台数据采用mysql数据库,有实体表创建语句,相关hibernate的jar包与数据库驱动包也上传了,可以直接使用,很方便!

    hibernate 入门经典实例

    ### Hibernate入门经典实例详解 #### 实验一:Hibernate开发框架搭建 **实验目的:** - 理解并掌握如何使用Hibernate进行持久层开发; - 了解三层架构的意义:业务逻辑层、数据持久层和数据库。 **技术要点:** ...

    hibernate入门--第一个实例

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

    hibernate入门实例操作步骤

    **hibernate入门实例操作步骤** Hibernate是一款强大的Java对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者可以使用Java对象的方式处理数据库事务。本篇将详细介绍Hibernate入门实例的操作步骤,...

    非注解Springmvc+spring+hibernate 入门实例

    下面我们将深入探讨"非注解SpringMVC+Spring+Hibernate入门实例"中的关键知识点。 首先,让我们从SpringMVC开始。SpringMVC是一个Model-View-Controller架构模式的实现,用于构建Web应用程序。在非注解方式下,我们...

    Struts & Hibernate入门实例

    在这个"Struts & Hibernate入门实例"中,我们将深入理解这两个框架的基本概念、工作原理以及如何在实际项目中整合使用。 Struts是一个开源的MVC框架,它提供了结构化的Web应用程序开发方式,帮助开发者更好地分离...

    webwork+spring+hibernate入门实例

    《webwork+spring+hibernate入门实例》 在当今的Web开发领域,Spring、Hibernate和WebWork(现称为Struts 2)是三个极为重要的框架。本实例将引导初学者深入理解这三大框架的集成与应用,以及如何与MySQL数据库进行...

    myeclipse下hibernate入门实例介绍

    ### MyEclipse 下 Hibernate 入门实例详解 #### 一、引言 本文将详细介绍如何在 MyEclipse 环境下使用 Hibernate 进行一个简单的数据库操作实例。该实例将涵盖从环境搭建到实现增删改查的基本过程。通过这个实例,...

    struts+hibernate入门实例(eclipse版)

    ### Struts + Hibernate 入门实例(Eclipse 版) #### 一、开发环境搭建 在本章节中,作者朱千平将引导我们完成开发环境的搭建,包括以下几个步骤: 1. **下载安装Eclipse**: Eclipse 是一个开源的集成开发环境...

    hibernate的入门实例

    **Hibernate入门实例** Hibernate是一个强大的Java对象关系映射(ORM)框架,它简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据库交互。这个入门实例将带你了解如何配置Hibernate、创建实体类、定义...

    ajax+hibernate入门实例源码

    ajax+hibernate入门实例源码。测试方法: 一、先在mysql数据库中创建表并插入数据(脚本在压缩包中) 二、将WebRoot目录复制到tomcat的webapps中。 运行图: &lt;br&gt;

    struts+hibernate入门实例

    在这个"struts+hibernate入门实例"中,数据库选择了Oracle 10g,这是一款功能强大的关系型数据库管理系统。开发者需要配置Hibernate的连接池和数据源,以便应用程序能够正确地访问Oracle数据库。 开发环境Eclipse ...

    Hibernate快速入门实例

    ### Hibernate快速入门实例详解 #### 一、概述 本文档主要介绍了如何通过Hibernate框架实现一个简单的Java Web项目中的数据持久化操作。通过本教程的学习,读者可以了解到如何使用Hibernate进行数据库连接、实体类...

    Eclipse快速上手Hibernate之入门实例

    ### Eclipse快速上手Hibernate之入门实例详解 #### 引言 Hibernate是一个强大的对象关系映射(ORM)框架,用于简化数据库操作,使开发者能够用面向对象的方式处理数据库数据,而无需编写复杂的SQL语句。本篇文章将...

    初学hibernate,hibernate入门

    **初学Hibernate,Hibernate入门** Hibernate是一个开源的对象关系映射(ORM)框架,它为Java开发者提供了方便的数据持久化服务。在Java应用中,通过Hibernate,开发者可以将数据库操作抽象成对象模型,使得代码...

    Struts+Spring+Hibernate入门级实例

    这个入门级实例将引导初学者了解如何整合这三个框架来实现基本的CRUD(创建、读取、更新和删除)操作。 首先,我们来看Struts框架。Struts是基于Model-View-Controller(MVC)设计模式的,它提供了一个用于处理用户...

    极好的hibernate入门实例

    标题“极好的hibernate入门实例”表明这是一份关于Hibernate的初级教程,旨在帮助初学者快速掌握Hibernate的基本概念和用法。Hibernate是一个强大的Java持久化框架,它简化了数据库操作,使得开发者可以更专注于业务...

Global site tag (gtag.js) - Google Analytics