在网上的资料很多,但是成功搭建一个Hibernate框架的很少,下面我将用一个简单的例子成功搭建一个Hibernate框架给大伙瞧瞧

该链接中有源代码数据库,例子很简单,只是往数据库中的person表里面添加一组数据,链接:http://pan.baidu.com/s/1c0q8UZ2 密码:108m

也可以在我的github中下载,喜欢的话fork一下吧!https://github.com/zzzzw

在eclipse中配置Hibernate开发框架,本连接使用的数据库是MySQL

图一

1.在Java Web项目中添加Hibernate类库文件,也就是它的jar包,如图一中lib所示

2.添加Hibernate配置文件hibernate.cfg.xml,不建议大家下载hibernate tools,因为小博下载之后配置环境老是失败,最后才选择手动配置

 <?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>
<!-- 定义数据库连接驱动 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- 定义数据库服务器地址 -->
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
<!-- 数据库用户名 -->
<property name="hibernate.connection.username">root</property>
<!-- 数据库用户对应的密码 -->
<property name="hibernate.connection.password">123456</property>
<!-- 数据库对应的方言 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 在操作数据库时是否打印SQL语句 -->
<property name="hibernate.show_sql">true</property>
<!-- 打开 hbm2ddl.auto 选项将自动生成数据库模式(schema)- 直接加入数据库中 -->
<property name="hbm2ddl.auto">update</property>
<!-- 配置ORM映射文件 -->
<mapping resource="com/henu/domain/Person.hbm.xml"></mapping> //用来指定加载的映射文件路径及名称,本例加载的映射文件是com/henu/domain/Person.hbm.xml
</session-factory>
</hibernate-configuration>

3.创建持久化类(POJO)Person.java

备注:持久化类主要与数据表对应,在应用程序中操纵数据库的行为实质上转化为对持久化类的操作.

 package com.henu.domain;

 import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set; public class Person implements Serializable {
private static final long serialVersionUID = 1L;
//主键属性
private int id;
//基本类型属性,对应于表中的列
private String name;
private int age;
private String major;
//集合属性,一般对应于表中的外键
//private List courses = new ArrayList();
//private String[] courses;
//private Map courses = new HashMap();
private Set courses = new HashSet();
/**
* 无参构造方法
*/
public Person()
{}
/**
* 初始化全部属性的构造方法
* @param id
* @param name
* @param age
* @param major
* @param courses
*/
public Person(int id, String name, int age, String major, Set courses) {
super();
this.id = id;
this.name = name;
this.age = age;
this.major = major;
this.courses = courses;
}
//setter和getter
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;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
/*public Map getCourses() {
return courses;
}
public void setCourses(Map courses) {
this.courses = courses;
}
*/
public Set getCourses() {
return courses;
}
public void setCourses(Set courses) {
this.courses = courses;
} /*public List getCourses() {
return courses;
}
public void setCourses(List courses) {
this.courses = courses;
}*/
}

4.定义ORM映射文件

备注:ORM映射文件的主要作用就是制定持久化类与数据表之间的映射关系;下面是Person类与数据表person的映射文件Person.hbm.xml

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- class元素定义持久化类的具体包路径、关联的数据库及表名称 -->
<hibernate-mapping>
<class name="com.henu.domain.Person" table="person" catalog="test">
<!-- id元素定义表的主键对应持久化类中的属性名称、数据类型 -->
<id name="id" type="java.lang.Integer">
<!-- column元素定义表的主键 -->
<column name="id" />
<!-- generator定义表的主键生成方式,这里采用native方式 -->
<generator class="native"></generator>
</id>
<!-- property元素定义持久化类的其它属性与表中列名之间的对照关系及数据类型等 -->
<property name="name" type="java.lang.String">
<column name="name" length="20" not-null="true" />
</property>
<property name="age" type="java.lang.Integer">
<column name="age" />
</property>
<property name="major" type="java.lang.String">
<column name="major" length="45" />
</property> </class>
</hibernate-mapping>

5经过上面的步骤,本项目的Hibernate环境基本搭建完毕,并且建立了一个映射文件com/henu/domain/Person.hbm.xml,讲Person类和test数据库中的person表关联起来,下面建立测试类TestHibernate.java测试是否连接成功!

 package com.henu.test;

 import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import com.henu.domain.Person;
public class TestHibernate {
public static void main(String args[])
{
//实例化一个Configuration对象
Configuration cfg = new Configuration();
/*Configuration对象加载Hibernate配置文件,并构建一个会话工厂SessionFactory*/
SessionFactory sf = cfg.configure().buildSessionFactory();
//由会话工厂打开一个会话
Session session = sf.openSession();
//由会话开启一个事务对象
Transaction tx = session.beginTransaction();
//实例化一个Person对象
Person tom = new Person();
tom.setName("Tom");
tom.setAge(29);
tom.setMajor("Computer Science");
//持久化Person对象
session.save(tom);
tx.commit();
session.close();
}
}

运行程序,eclipse的控制台输出结果--------------------------->>>>>

查看Person表中时候添加了一条记录.如果有的话证明环境搭建成功!好吧,觉得不错的话右下角点“推荐”吧

hibernate篇章二--成就搭建hibernate框架的更多相关文章

  1. hibernate篇章六--demo(Hibernate之第1解之-hibernate_demo_1)

    准备工作做好了,开始Hibernate: 1:建立包:package:dao.model.service.util包: 2:开始model实体类Student:id,sname生成getter/set ...

  2. 如何完全根据官方下载包搭建hibernate框架

    好久没有用s2sh的框架了,最近业务需要又要拾起来.在搭框架时,发现之前都是复制配置文件,对具体的细节却很懵懂,所以要从新来一遍,也是一次新的学习. 我使用的版本是hibernate-release- ...

  3. Java 本地开发环境搭建(框架采用 Spring+Spring MVC+Hibernate+Jsp+Gradle+tomcat+mysql5.6)

    项目搭建采用技术栈为:Spring+Spring MVC+Hibernate+Jsp+Gradle+tomcat+mysql5.6 搭建环境文档目录结构说明: 使用Intellj Idea 搭建项目过 ...

  4. SSH框架之hibernate《二》

    Hibernate第二天     一.hibernate的持久化类和对象标识符         1.1持久化类的编写规范             1.1.1什么是持久化类:               ...

  5. 如何搭建hibernate框架

    我写这篇博客,主要是想让大家能够快速上手hibernate,本人建议学习框架,应该一个框架一个框架学习,别一上手就三大框架整合,学习之类的.这里只是单独搭建hibernate框架,让大家 能够更好的上 ...

  6. idea中创建web项目搭建Hibernate框架连接oracle数据库

    hibernate框架 hibernate是数据化持久工具,也是一个开源代码的ORM解决方案.hibernate内部封装了通过jdbc访问数据库的操作,向商场应用提供面向对象的数据访问api. hib ...

  7. Maven环境下搭建SSH框架之Spring整合Hibernate

    © 版权声明:本文为博主原创文章,转载请注明出处 1.搭建环境 Spring:4.3.8.RELEASE Hibernate:5.1.7.Final MySQL:5.7.17 注意:其他版本在某些特性 ...

  8. Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(二)

    然后是项目下的文件:完整的项目请看  上一篇 Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(一) 项目下的springmvc-servlet.xml配置文件: ...

  9. Hibernate框架 初识 ORM概念 搭建Hibernate环境 Hibernate Api

    ORM概念 在学习 Hibernate 之前,我们先来了解ORM   对象关系映射 O, Object  对象 R,Realtion 关系  (关系型数据库: MySQL, Oracle…) M,Ma ...

随机推荐

  1. angular.extend

    function f1() {} var f2 = angular.extend(f1, { active: false, toggle: function() { this.active = !th ...

  2. Axis2 java调用.net webservice接口的问题(郑州就维)

    这是一个古老的问题,古老到从我若干年前遇到这样的问题就是一个解决之道:反复尝试.其实标准是什么,标准就是一个束缚,一种按既定规则的束缚,错点点,你的调用就可能不成功,不成功后你要花费大量的力气查找原因 ...

  3. HTMLPARSER.NET 参考资料

    例子1: using System;using System.IO;using Winista.Text.HtmlParser;using Winista.Text.HtmlParser.Lex;us ...

  4. iPhone丢失后通过iccid找回流程

    切记,丢失IPHONE第一时间要去补卡,免得小偷刷机用你的卡激活,这样你查到的号码只会是你自己的号码找iphone有2个方法:ICCID和维修换机.两者之间没任何直接联系,请不要混淆!下面是总体流程图 ...

  5. HDU 2191

    思路:简单动态规划,多重背包转化成0 1背包问题 #include<stdio.h> #include<string.h> int a[101][2001],rcw[2001] ...

  6. 【JS】Intermediate4:JSON

    1. JSON(JavaScript Object Notation) A set of text formatting rules for storing and transferring data ...

  7. 解决SQL数据库无法脱机的问题

    数据库无法脱机:原理——有人在占用. 解决办法: select * from master.sys.sysprocesses where dbid=db_id('数据库名称') kill [id]

  8. linux 密码安全脚本

    #!/bin/bash #by:osx1260@.com DIESO=/etc/pam.d PAMSO=$(ls $DIESO/* |awk -F'/' '{print $4}') NEPAMUN=' ...

  9. tail -f logfile.log 一直监控某个文件,若该文件有改动,立即在屏幕上输出

    tail -f logfile.log 可以一直监控某个文件,只要文件有改动,就立即在屏幕上输出

  10. 工作7年,从《一个苏州IT人的5年挨踢经历》系列开始,博客1年半,纯纪念

    真正涉足CSDN,还是从<一个苏州IT人的5年挨踢经历>系列的发帖开始,当时大家比较捧场,遂把帖子内容整理,其后创建CSDN博客并发表于其上.有了这个开端,后续就习惯性的开始在CSDN写技 ...