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,因为小博下载之后配置环境老是失败,最后才选择手动配置
<?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框架的更多相关文章
- hibernate篇章六--demo(Hibernate之第1解之-hibernate_demo_1)
准备工作做好了,开始Hibernate: 1:建立包:package:dao.model.service.util包: 2:开始model实体类Student:id,sname生成getter/set ...
- 如何完全根据官方下载包搭建hibernate框架
好久没有用s2sh的框架了,最近业务需要又要拾起来.在搭框架时,发现之前都是复制配置文件,对具体的细节却很懵懂,所以要从新来一遍,也是一次新的学习. 我使用的版本是hibernate-release- ...
- Java 本地开发环境搭建(框架采用 Spring+Spring MVC+Hibernate+Jsp+Gradle+tomcat+mysql5.6)
项目搭建采用技术栈为:Spring+Spring MVC+Hibernate+Jsp+Gradle+tomcat+mysql5.6 搭建环境文档目录结构说明: 使用Intellj Idea 搭建项目过 ...
- SSH框架之hibernate《二》
Hibernate第二天 一.hibernate的持久化类和对象标识符 1.1持久化类的编写规范 1.1.1什么是持久化类: ...
- 如何搭建hibernate框架
我写这篇博客,主要是想让大家能够快速上手hibernate,本人建议学习框架,应该一个框架一个框架学习,别一上手就三大框架整合,学习之类的.这里只是单独搭建hibernate框架,让大家 能够更好的上 ...
- idea中创建web项目搭建Hibernate框架连接oracle数据库
hibernate框架 hibernate是数据化持久工具,也是一个开源代码的ORM解决方案.hibernate内部封装了通过jdbc访问数据库的操作,向商场应用提供面向对象的数据访问api. hib ...
- Maven环境下搭建SSH框架之Spring整合Hibernate
© 版权声明:本文为博主原创文章,转载请注明出处 1.搭建环境 Spring:4.3.8.RELEASE Hibernate:5.1.7.Final MySQL:5.7.17 注意:其他版本在某些特性 ...
- Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(二)
然后是项目下的文件:完整的项目请看 上一篇 Maven+Spring+Hibernate+Shiro+Mysql简单的demo框架(一) 项目下的springmvc-servlet.xml配置文件: ...
- Hibernate框架 初识 ORM概念 搭建Hibernate环境 Hibernate Api
ORM概念 在学习 Hibernate 之前,我们先来了解ORM 对象关系映射 O, Object 对象 R,Realtion 关系 (关系型数据库: MySQL, Oracle…) M,Ma ...
随机推荐
- ☀【css】透明
让IE浏览器支持RGBA颜色http://www.hujuntao.com/web/css/ie-browser-support-for-rgba-color.html 透明纯色背景 backgrou ...
- ASCII,Unicode和UTF-8
转自:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html 今天中午,我突然想搞清楚Unicode和UTF-8之间的关 ...
- LinkedList源码解析
LinkedList是基于链表结构的一种List,在分析LinkedList源码前有必要对链表结构进行说明.1.链表的概念链表是由一系列非连续的节点组成的存储结构,简单分下类的话,链表又分为单向链表和 ...
- HTTP分段下载
现代WEB服务器都支持大文件分段下载,加快下载速度,判断WEB服务器是否支持分段下载通过返回头是否有 Accept-Ranges: bytes 字段.分段下载分为两种,一种就是一次请求一个分段,一种就 ...
- Python:变量与字符串
变量 使用dos页面进行命令的输入如下变量,进行打印: 同时,相同两个变量书写在同一行,中间用英文的“;”隔开 python中区分大小写变量 字符串 简单的说,字符串就是双引号,单引号,或者三 ...
- Entity Framework Linq 简单笔记
类型查询 public class bbb:xxx {} var items = from c in context.Dbset<xxx> where c is bbb sele ...
- Spring笔记(四)SpingAOP
需要的Jar包(String3.2) com.springsource.net.sf.cglib-2.2.0.jar // 作用于cglib方式的动态代理 com.springsource.org.a ...
- HW4.4
public class Solution { public static void main(String[] args) { final double KILOMETERS_PER_MILE = ...
- java 日志技术汇总(log4j , Commons-logging,.....)
前言 在Tomcat 与weblogic 中的 日志(log4j) 配置系列一 在系列一 中, 有一个问题一直没有解决,就是部署到weblogic 中应用程序如何通过log4j写日志到文件中? 这里仅 ...
- csdn 刷分小工具(刷了1000多被封了,慎用)
先上图,周第一, 月第六代码未整理,比较乱,仅仅供参考(cookie已经废了,号被封了,哈哈) using System; using System.Collections.Generic; usin ...