1:SSH框架:

  Struts2:基于mvc模式的应用层框架模式(Servlet层)

  Hibernate:基于持久层的框架(数据访问层)

  Spring:创建对象对象处理的依赖关系以及框架整合(Service层)


2:框架和之前学的对比MVC分层模式:


搭建Hibernate环境,开发步骤:

  1:下载源码

    Hibernate官网:http://hibernate.org/

  2:引入jar包:(9个jar包哦~~~)

    (1)hibernate3.jar:Hibernate核心jar包文件;

    (2)lib目录下面的required目录里面的6个包

       antlr-2.7.6.jar;

       commons-collections-3.1.jar;

       dom4j-1.6.1.jar;

       javassist-3.12.0.GA.jar;

jta-1.1.jar;

slf4j-api-1.6.1.jar

    (3)lib目录下面的jpa目录里面的1个包

       hibernate-jpa-2.0-api-1.0.0.Final.jar

    (4)最后一个mysql驱动包

  3:写对象以及对象的映射;

    实体类名.java      对象

    实体类名.hbm.xml   对象的映射

  4:Hibernate配置文件:src/hibernate.cfg.xml

    数据连接配置

    加载所有的映射(*.hbm.xml)


实例演示Hibernate之Hello world!!!

1:第一步:肯定引入jar包咯,毕竟是框架吗!所以引入上面的9个jar包哦~~~

2:第二步:肯定是创建数据库和数据表了,毕竟Hibernate是替换之前学的数据交互层了。

  创建user数据表:

3:第三步:写对象和对象的映射

  3.1:首先创建一个实体类哦~~~,如下所示:

 package com.bie.po;
/**
* @author BieHongLi
* @version 创建时间:2017年3月8日 下午5:17:23
*
*/
public class User { private int id;
private String name;
private String password;
private String email;
private String phone;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
} }

  3.2:创建好实体类之后就配置对象的映射,毕竟这个框架的映射还是很牛逼的。

    创建User.hbm.xml,完成对象和数据表的操作;

  (1):对象与表
         (2):属性与字段的对应
         (3):类型的对应,类型默认采用属性的类型,type不写的话

 <?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="com.bie.po">
<!-- 操作条件:
1:对象与表
2:属性与字段的对应
3:类型的对应,类型默认采用属性的类型,type不写的话
-->
<class name="User" table="user">
<!-- 主键,映射 -->
<id name="id" column="id">
<generator class="native"></generator>
</id> <!-- 非主键,映射 -->
<property name="name" column="name"></property>
<property name="password" column="password"></property>
<property name="email" column="email"></property>
<property name="phone" column="phone"></property> </class> </hibernate-mapping>

  实体类.hbm.xml如何找模板???:

    这个文件去下载的Hibernate包里面搜索一个模板,然后复制出来,方便之后使用,操作如下所示:

4:src/hibernate.cfg.xml(寻找的目录如:\hibernate-distribution-3.6.0.Final\project\etc)

  4.1:数据连接配置

  4.2:加载所有的映射(*.hbm.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>
<!--
1:数据连接配置
2:加载所有的映射(*.hbm.xml)
--> <!-- 1:数据连接配置 -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql:///test</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">123456</property>
<!-- mysql数据库的方言 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hibernate.show_sql">true</property> <!-- 2:加载所有的映射(*.hbm.xml) -->
<mapping resource="com/bie/po/User.hbm.xml"/> </session-factory>
</hibernate-configuration>

5:写测试的方法,完成第一个Hibernate程序;

 package com.bie.test;

 import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test; import com.bie.po.User; /**
* @author BieHongLi
* @version 创建时间:2017年3月8日 下午5:28:35
*
*/
public class HelloTest { @Test
public void testHello(){
//对象
User user=new User();
user.setName("张三");
user.setPassword("123456");
user.setEmail("1748741329@qq.com");
user.setPhone("15236083005"); //获取加载配置文件的管理类对象
Configuration config=new Configuration();
//默认加载src/hibernate.cfg.xml文件
config.configure();
//创建session的工厂文件
SessionFactory sf=config.buildSessionFactory();
//创建session(代表一个会话,与数据库连接的会话)
Session session=sf.openSession();
//开启事务
Transaction tx=session.beginTransaction();
//保存到数据库
session.save(user);
//提交事务
tx.commit();
//关闭
session.close();
//sessionFactory关闭
sf.close(); }
}

<!-- mysql数据库的方言 -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>

  1》如何获取mysql方言的这句org.hibernate.dialect.MySQLDialect???

    首先按着ctrl+shift+t 然后搜索MySQLDialect如下所示,然后取到下图所示即可;  

趁年轻,我们要敢于拼搏!!!年轻就是资本啊!!!

Hibernate之开门见山的更多相关文章

  1. spring+hibernate 配置多个数据源过程 以及 spring中数据源的配置方式

    spring+hibernate 配置多个数据源过程 以及 spring中数据源的配置方式[部分内容转载] 2018年03月27日 18:58:41 守望dfdfdf 阅读数:62更多 个人分类: 工 ...

  2. hibernate多对多关联映射

    关联是类(类的实例)之间的关系,表示有意义和值得关注的连接. 本系列将介绍Hibernate中主要的几种关联映射 Hibernate一对一主键单向关联Hibernate一对一主键双向关联Hiberna ...

  3. 解决 Springboot Unable to build Hibernate SessionFactory @Column命名不起作用

    问题: Springboot启动报错: Caused by: org.springframework.beans.factory.BeanCreationException: Error creati ...

  4. hibernate多对一双向关联

    关联是类(类的实例)之间的关系,表示有意义和值得关注的连接. 本系列将介绍Hibernate中主要的几种关联映射 Hibernate一对一主键单向关联Hibernate一对一主键双向关联Hiberna ...

  5. Hibernate中事务的隔离级别设置

    Hibernate中事务的隔离级别,如下方法分别为1/2/4/8. 在Hibernate配置文件中设置,设置代码如下

  6. Hibernate中事务声明

    Hibernate中JDBC事务声明,在Hibernate配置文件中加入如下代码,不做声明Hibernate默认就是JDBC事务. 一个JDBC 不能跨越多个数据库. Hibernate中JTA事务声 ...

  7. spring applicationContext.xml和hibernate.cfg.xml设置

    applicationContext.xml配置 <?xml version="1.0" encoding="UTF-8"?> <beans ...

  8. [原创]关于Hibernate中的级联操作以及懒加载

    Hibernate: 级联操作 一.简单的介绍 cascade和inverse (Employee – Department) Casade用来说明当对主对象进行某种操作时是否对其关联的从对象也作类似 ...

  9. hibernate的基本xml文件配置

    需要导入基本的包hibernate下的bin下的required和同bin下optional里的c3p0包下的所有jar文件,当然要导入mysql的驱动包了.下面需要注意的是hibernate的版本就 ...

随机推荐

  1. 使用Aspose.Cells生成Excel的线型图表

    目的: 1.根据模板里面的excel数据信息,动态创建line chart 2.linechart 的样式改为灰色 3.以流的形式写到客户端,不管客户端是否装excel,都可以导出到到客户端 4.使用 ...

  2. Study 2 —— 格式化输出

    打印人物信息的两种方法第一种: Name = input('Input your name: ') Age = input('Input your age: ') Job = input('Input ...

  3. Neural Networks and Deep Learning 课程笔记(第三周)浅层神经网络(Shallow neural networks)

    3.1 神经网络概述(Neural Network Overview ) (神经网络中,我们要反复计算a和z,最终得到最后的loss function) 3.2 神经网络的表示(Neural Netw ...

  4. u-boot移植(十)---代码修改---支持nor flash

    一.问题定位 开发板重启后打印了2个提醒和一个错误,caches的提醒先不看,看看flash和nand下面的提醒,bad CRC,Using default enviroment,我们可以定位Usin ...

  5. DPM 目标检测1

    1. Origin 原始目标检测: HOG梯度模型+目标匹配 为了提过对目标形变的鲁棒性(多视角->多组件): 目标形态多样性—>多个模型 目标的动态变化多视角—> 子模型 目标形变 ...

  6. 洛谷4718【模板】Pollard-Rho算法

    传送门 Description: 给定T个数,分别求出它们的最大质因数 Solution: 其实大概框架是很容易想到的 对于一个数n 找到它的一个因数x 判断这个因数是不是质数 如果是质数就更新答案 ...

  7. php 设置中文 cookie, js获取

    参考链接:http://www.nowamagic.net/librarys/veda/detail/1271 http://www.ruanyifeng.com/blog/2008/06/base6 ...

  8. transform 图标旋转,IE8、IE7不兼容

    要将图标旋转,只需使用transform的rotate以及transition即可完成旋转的动画效果.ease 规定慢速开始,然后变快,然后慢速结束的过渡效果;   ease-in 规定以慢速开始的过 ...

  9. SpringBoot2.x配置文件讲解

    SpringBoot2.x配置文件讲解 简介:SpringBoot2.x常见的配置文件 xml.yml.properties的区别和使用 xml.properties.json.yaml 1.常见的配 ...

  10. shiro与Web项目整合-Spring+SpringMVC+Mybatis+Shiro(八)

    Jar包