hibernate篇章二--成就搭建hibernate框架

在网上的资料很多,但是成功搭建一个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,因为小博下载之后配置环境老是失败,最后才选择手动配置

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE hibernate-configuration PUBLIC
 3   "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
 4   "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
 5  <hibernate-configuration>
 6   <session-factory>
 7    <!-- 定义数据库连接驱动 -->
 8     <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
 9     <!-- 定义数据库服务器地址 -->
10     <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
11     <!-- 数据库用户名 -->
12     <property name="hibernate.connection.username">root</property>
13     <!-- 数据库用户对应的密码 -->
14     <property name="hibernate.connection.password">123456</property>
15     <!-- 数据库对应的方言 -->
16     <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
17     <!-- 在操作数据库时是否打印SQL语句 -->
18     <property name="hibernate.show_sql">true</property>
19     <!-- 打开 hbm2ddl.auto 选项将自动生成数据库模式(schema)- 直接加入数据库中 -->
20     <property name="hbm2ddl.auto">update</property>
21     <!-- 配置ORM映射文件 -->
22     <mapping resource="com/henu/domain/Person.hbm.xml"></mapping> //用来指定加载的映射文件路径及名称,本例加载的映射文件是com/henu/domain/Person.hbm.xml
23   </session-factory>
24  </hibernate-configuration>

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

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

 1 package com.henu.domain;
 2
 3 import java.io.Serializable;
 4 import java.util.ArrayList;
 5 import java.util.HashMap;
 6 import java.util.HashSet;
 7 import java.util.List;
 8 import java.util.Map;
 9 import java.util.Set;
10
11 public class Person implements Serializable {
12     private static final long serialVersionUID = 1L;
13     //主键属性
14     private int id;
15     //基本类型属性,对应于表中的列
16     private String name;
17     private int age;
18     private String major;
19     //集合属性,一般对应于表中的外键
20     //private List courses = new ArrayList();
21     //private String[] courses;
22     //private Map courses = new HashMap();
23     private Set courses = new HashSet();
24     /**
25      * 无参构造方法
26      */
27     public Person()
28     {}
29     /**
30      * 初始化全部属性的构造方法
31      * @param id
32      * @param name
33      * @param age
34      * @param major
35      * @param courses
36      */
37     public Person(int id, String name, int age, String major, Set courses) {
38         super();
39         this.id = id;
40         this.name = name;
41         this.age = age;
42         this.major = major;
43         this.courses = courses;
44     }
45     //setter和getter
46     public String getName() {
47         return name;
48     }
49     public void setName(String name) {
50         this.name = name;
51     }
52     public int getAge() {
53         return age;
54     }
55     public void setAge(int age) {
56         this.age = age;
57     }
58     public String getMajor() {
59         return major;
60     }
61     public void setMajor(String major) {
62         this.major = major;
63     }
64     public int getId() {
65         return id;
66     }
67     public void setId(int id) {
68         this.id = id;
69     }
70     /*public Map getCourses() {
71         return courses;
72     }
73     public void setCourses(Map courses) {
74         this.courses = courses;
75     }
76     */
77     public Set getCourses() {
78         return courses;
79     }
80     public void setCourses(Set courses) {
81         this.courses = courses;
82     }
83
84     /*public List getCourses() {
85         return courses;
86     }
87     public void setCourses(List courses) {
88         this.courses = courses;
89     }*/
90 }

4.定义ORM映射文件

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

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
 3 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
 4  <!-- class元素定义持久化类的具体包路径、关联的数据库及表名称 -->
 5 <hibernate-mapping>
 6     <class name="com.henu.domain.Person" table="person" catalog="test">
 7         <!-- id元素定义表的主键对应持久化类中的属性名称、数据类型 -->
 8         <id name="id" type="java.lang.Integer">
 9             <!-- column元素定义表的主键 -->
10             <column name="id" />
11             <!-- generator定义表的主键生成方式,这里采用native方式 -->
12             <generator class="native"></generator>
13         </id>
14         <!-- property元素定义持久化类的其它属性与表中列名之间的对照关系及数据类型等 -->
15         <property name="name" type="java.lang.String">
16             <column name="name" length="20" not-null="true" />
17         </property>
18         <property name="age" type="java.lang.Integer">
19             <column name="age" />
20         </property>
21         <property name="major" type="java.lang.String">
22             <column name="major" length="45" />
23         </property>
24
25
26
27
28
29     </class>
30 </hibernate-mapping>

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

 1 package com.henu.test;
 2
 3 import org.hibernate.Session;
 4 import org.hibernate.SessionFactory;
 5 import org.hibernate.Transaction;
 6 import org.hibernate.cfg.Configuration;
 7 import com.henu.domain.Person;
 8 public class TestHibernate {
 9     public static void main(String args[])
10     {
11         //实例化一个Configuration对象
12         Configuration cfg = new Configuration();
13         /*Configuration对象加载Hibernate配置文件,并构建一个会话工厂SessionFactory*/
14         SessionFactory sf = cfg.configure().buildSessionFactory();
15         //由会话工厂打开一个会话
16         Session session = sf.openSession();
17         //由会话开启一个事务对象
18         Transaction tx = session.beginTransaction();
19         //实例化一个Person对象
20         Person tom = new Person();
21         tom.setName("Tom");
22         tom.setAge(29);
23         tom.setMajor("Computer Science");
24         //持久化Person对象
25         session.save(tom);
26         tx.commit();
27         session.close();
28 }
29 }

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

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

时间: 2024-09-30 16:26:51

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

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

准备工作做好了,开始Hibernate: 1:建立包:package:dao.model.service.util包: 2:开始model实体类Student:id,sname生成getter/setter: Java代码 1 package model; 2 3 public class Student { 4 private int id; 5 private String name; 6 7 public int getId() { 8 return id; 9 } 10 private

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

好久没有用s2sh的框架了,最近业务需要又要拾起来.在搭框架时,发现之前都是复制配置文件,对具体的细节却很懵懂,所以要从新来一遍,也是一次新的学习. 我使用的版本是hibernate-release-4.3.11.Final,因为需要使用基于xml的配置,这一版本关于xml的文档还是很友好的,最新的5.x主要针对注解,与业务有所出入. 下面开始搭建: 百度云:jar包链接  密码:h7o8 关于文件结构 搭建Hibernate的压缩文件解压后就是下面的结构: jdbc和log4j包是我后加的,其

用MyEclipse搭建SSH框架(Struts2 Spring Hibernate)

1.new一个web project. 2.右键项目,为项目添加Struts支持. 点击Finish.src目录下多了struts.xml配置文件. 3.使用MyEclipse DataBase Explorer建立数据源. new一个数据源.填入数据源信息. 点击test Driver,如果成功显示: 点击OK,点击Finish. 4.为项目添加Spring支持. 选择五个包,之后JAR Library Installation为如下图. 点击Next. 默认点击Finish. 5.为项目添加

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

ORM概念 在学习 Hibernate 之前,我们先来了解ORM   对象关系映射 O, Object  对象 R,Realtion 关系  (关系型数据库: MySQL, Oracle…) M,Mapping  映射 ORM, 解决什么问题? 存储:   能否把对象的数据直接保存到数据库? 获取:   能否直接从数据库拿到一个对象? 想做到上面2点,必须要有映射!   总结:          Hibernate与ORM的关系?             Hibernate是ORM的实现,简化对

SSH电力项目一 搭建Hibernate框架

Hibernate所需要的基本文件: ElectText.java ElecText.hbm.xml hibernate.cfg.xml 第一步:创建测试表Elec_Text: create table Elec_Text(textID varchar(50) not null primary key,textName varchar(50),textDate datetime,textRemark varchar(500) ); 第二步:创建项目,导入jar包 第三步:持久层 (1)在com.

搭建hibernate环境

Hibernate概述什么是框架1 写程序,使用框架之后,帮我们实现一部分功能,使用框架好处,少写一部分代码实现功能 什么是hibernate框架(重点)1 hibernate框架应用在javaee三层结构中 dao层框架 2 在dao层里面做对数据库crud操作,使用hibernate实现crud操作,hibernate底层代码就是jdbc,hibernate对jdbc进行封装,使用hibernate好处,不需要写复杂jdbc代码了,不需要写sql语句实现 3 hibernate开源的轻量级的

Maven+Struts+Hibernate+Spring简单项目搭建

这段时间学习如何使用Maven+Struts+Hibernate+Spring注解方式建立项目,在这里感谢孙宇老师.    第一次写博客,主要是方便自己查看,同时分享给大家,希望对大家有所帮助,我也是刚入行的小菜鸟,可能有些地方不对,希望不对的地方,大家可以提出来,共同进步. 项目使用的工具是eclipse,数据库使用的是mysql,项目主要是用注解方式实现三大框架的整合. 首先使用maven建立项目,这里简单介绍一下. 第一步:右击new->other->Maven Project,如下图:

Hibernate实例二

Hibernate实例二 一.测试openSession方法和getCurrentSession方法 hebernate中可以通过上述两种方法获取session对象以对数据库进行操作,下面的代码以及注解是对两种方法的辨析 SessionTest.java 1 import java.sql.Connection; 2 import java.sql.SQLException; 3 import java.util.Date; 4 5 import org.hibernate.Session; 6

Hibernate 入门 02 - Hibernate介绍及其环境搭建

昨晚喝多了,下午刚清醒,继续搞Hibernate.走起. 觉得还行的话,记得点赞哈,给我这个渣渣点学习的动力.有错误的话也请指出,省的我在错误上走了不归路.呵呵. 目录: 数据持久化概念 Hiberante框架及ORM2.1. Hibernate框架2.2. 什么是ORM2.3. Hibernate框架的优缺点及其适用场合 2.4.1 Hibernate框架的优点 2.4.2 Hibernate框架的缺点2.4. Hibernate环境搭建2.5. 技能训练2.6. 练习 1.数据持久化概念 数