搭建一个Hibernate环境,开发步骤:

1. 下载源码

版本:hibernate-distribution-3.6.0.Final

2. 引入jar文件

         hibernate3.jar核心  +  required 必须引入的(6个) +  jpa 目录  + 数据库驱动包

3. 写对象以及对象的映射

Employee.java            对象

Employee.hbm.xml        对象的映射 (映射文件)

4. src/hibernate.cfg.xml  主配置文件

-à 数据库连接配置

-à 加载所用的映射(*.hbm.xml)

5. App.java  测试

Employee.java     对象

//一、 对象

public class Employee {

private int empId;

private String empName;

private Date workDate;

}

Employee.hbm.xml  对象的映射

<?xml version="1.0"?>

<!DOCTYPE hibernate-mapping PUBLIC

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">

<hibernate-mapping package="cn.itcast.a_hello">

<class name="Employee"   table="employee">

<!-- 主键 ,映射-->

<id name="empId"   column="id">

<generator class="native"/>

</id>

<!-- 非主键,映射 -->

<property name="empName"   column="empName"></property>

<property name="workDate"   column="workDate"></property>

</class>

</hibernate-mapping>

hibernate.cfg.xml    主配置文件

<!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.connection.driver_class">com.mysql.jdbc.Driver</property>

<property name="hibernate.connection.url">jdbc:mysql:///hib_demo</property>

<property name="hibernate.connection.username">root</property>

<property name="hibernate.connection.password">root</property>

<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>

<property name="hibernate.show_sql">true</property>

<!-- 加载所有映射 -->

<mapping resource="cn/itcast/a_hello/Employee.hbm.xml"/>

</session-factory>

</hibernate-configuration>

App.java   测试类

public class App {

@Test

public void testHello() throws Exception {

// 对象

Employee emp = new Employee();

emp.setEmpName("班长");

emp.setWorkDate(new Date());

// 获取加载配置文件的管理类对象

Configuration config = new Configuration();

config.configure();  // 默认加载src/hibenrate.cfg.xml文件

// 创建session的工厂对象

SessionFactory sf = config.buildSessionFactory();

// 创建session (代表一个会话,与数据库连接的会话)

Session session = sf.openSession();

// 开启事务

Transaction tx = session.beginTransaction();

//保存-数据库

session.save(emp);

// 提交事务

tx.commit();

// 关闭

session.close();

sf.close();

}

}

Hibernate 案例的更多相关文章

  1. Hibernate案例-------基于xml配置,使用Hibernate实现对员工表的增、删、改、查功能

    1.1 问题 使用Hibernate实现对员工表的增.删.改.查. 1.2 方案 Hibernate使用步骤: 导入Hibernate包,以及数据库驱动包. 引入Hibernate主配置文件hiber ...

  2. hibernate案例 测试代码

    测试staff数据表连接到maeclipse 在staff中插入一行 package com.hibernate.test; import org.hibernate.Session; import ...

  3. springboot整合hibernate案例

    1.运行环境 开发工具:intellij idea JDK版本:1.8 项目管理工具:Maven 4.0.0 2.GITHUB地址 https://github.com/nbfujx/springBo ...

  4. Hibernate(八)__级联操作、struts+hibernate+接口编程架构

    级联操作 所谓级联操作就是说,当你进行主对象某个操作时,从对象hibernate自动完成相应操作. 比如: Department <---->Student 对象关系,我希望当我删除一个d ...

  5. SSH(Spring Struts2 Hibernate)框架整合(注解版)

    案例描述:使用SSH整合框架实现部门的添加功能 工程: Maven 数据库:Oracle 框架:Spring Struts2  Hibernate 案例架构: 1.依赖jar包 pom.xml < ...

  6. Hibernate基础知识

    Hibernate Hibernate的作用: 1.         Hibernate解决ORM(对象关系映射)的问题,大大减少了持久层的代码量 2.         hql方言,解决了可移植性问题 ...

  7. MySQL数据库中字符集的问题

    今天在做Hibernate案例,往mysql中写记录的时候,出现ERROR: Incorrect string value: '\xE5\x8A\xA0\xE5\x86\x85...' for col ...

  8. Hibernate入门案例及增删改查

    一.Hibernate入门案例剖析: ①创建实体类Student 并重写toString方法 public class Student { private Integer sid; private I ...

  9. Hibernate框架之入门案例

    今天终于开始学习了三大框架的其中一个框架,Hibernate框架,在这里不去讲Hibernate框架的一些基础概念了,直接切入代码,带大家了解一下Hibernate能干什么, Hibernate的人们 ...

随机推荐

  1. [Splay模版1]

    输入 第1行:1个正整数n,表示操作数量,100≤n≤200,000 第2..n+1行:可能包含下面3种规则: 1个字母'I',紧接着1个数字k,表示插入一个数字k到树中,1≤k≤1,000,000, ...

  2. Mycil命令行MySQL语法高亮和自动补全工具

    MyCli 是MySQL,MariaDB和Percona的命令行界面,具有自动完成和语法高亮的功能. 其效果如图: 那么我们应该怎么安装它呢,这里附上windows的安装方法. 在命令行下输入 pip ...

  3. trait技术详解,这次包你学得会

    trait的使用技巧trait是php5.4以后新增加的一个功能,可以将多个类中,共用的一些属性和方法提取出来做来公共trait类,就像是装配汽车的配件,如果你的类中要用到这些配件,就直接用use导入 ...

  4. 关于cisco ccp 或sdm管理gns3中思科路由器的成功分享

    本来工作环境中有一台c1841,闲来无事,升级了最新的IOS=c1841-adventerprisek9-mz.151-4.M6.bin,在xp虚拟机中安装sdm(新windows系统不支持)和在wi ...

  5. Collection<E>、Iterable<T>和Iterator<E>接口

    Collection接口 public interface Collection<E>extends Iterable<E> Collection接口主要包含以下方法: Ite ...

  6. git编译安装与常见问题解决

    1. 先去官网下载一个安装包 ,假设目录/APP/ido   2. cd /APP/ido   3. tar -zxvf git-2.7.2.tar.gz   4. 安装依赖 yum -y insta ...

  7. /usr/lib/x86_64-linux-gnu/libopencv_highgui.so.2.4.9: undefined reference toTIFFIsTiled@LIBTIFF_4.0'

    今天编译caffe ,本来编译过无数次caffe了,基本坑都能解决的.但这次惹恼我了.一直搞不定. 错误信息是这样的: /usr/lib/x86_64-linux-gnu/libopencv_high ...

  8. ReentrantLock深入学习

    ReentrankLock  分为 非公平锁及公平锁 首先我们看一下它里面有哪些属性: private final Sync sync;Sync 这个类是 ReentrantLock的 一个静态内部类 ...

  9. JQuery中参数e,event

    与Flex类似,JavaScript中的事件也同样存在,捕获--触发--冒泡 三个节点.比较常见的情况是,在子DIV触发事件时,如果父DIV也监听同类事件,那么也会一起触发,并向上冒泡 jQuery对 ...

  10. Redis 小白指南(二)- 基础命令和五大类型:字符串、散列、列表、集合和有序集合

    Redis 小白指南(二)- 基础命令和五大类型:字符串.散列.列表.集合和有序集合 引言 目录 基础命令 字符串类型 散列类型 列表类型 集合类型 有序集合类型 基础命令 1.获得符合规则的键名列表 ...