hibernate框架简单步骤
Demo.java
package com.itheima.test; import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test; import com.itheima.domain.Customer; /**
* 测试Hibernate框架
* @author Administrator
*
*/
public class Demo {
/**
* 测试保存客户
*/
@Test
public void testSave(){
//1、加载配置文件
//2、创建SessionFactory对象,生成Session对象,不是以前学的那个Session,是框架产生的
//3、创建session对象
//4、开启事物
//5、编写保存的代码
//6、提交事务
//7、释放资源
/**
* 代码都是固定的,只有第五步保存代码是不固定的
*/ //1、加载配置文件
Configuration config = new Configuration();
//默认加载src目录下hibernate.cfg.xml的配置文件
config.configure(); //2、创建SessionFactory对象
SessionFactory factory = config.buildSessionFactory(); //3、创建session对象
Session session = factory.openSession(); //4、开启事物
Transaction tr = session.beginTransaction(); //5、编写保存的代码
Customer c = new Customer();
c.setCust_name("测试");
c.setCust_level("2");
c.setCust_phone("110"); //■■保存数据,操作对象就相当于操作数据库,这是代码的核心■■
session.save(c); //6、提交事务
tr.commit(); //7、释放资源
session.close();
factory.close(); }
}
这是SessionFactory的配置文件:
package com.itheima.Utils; import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration; /**
* Hibernate框架的工具类
* @author Administrator
*
*/
public class HibernateUtils {
private static final Configuration CONFIG;
private static final SessionFactory FACTORY; //编写静态代码块,在类在加载的时候,他就被执行了
static{
//加载XML的配置文件
CONFIG = new Configuration().configure();
//构建工厂
FACTORY = CONFIG.buildSessionFactory(); } /**
* 从工厂中回去Session对象
* @return
*/
public static Session getSession(){
return FACTORY.openSession();
}
}
有了配置文件,Demo就简单了很多,我们可以对比一下:
package com.itheima.test; import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.junit.Test; import com.itheima.Utils.HibernateUtils;
import com.itheima.domain.Customer; /**
* 测试Hibernate框架
* @author Administrator
*
*/
public class Demo {
/**
* 测试保存客户
*/
@Test
public void testSave(){
//配置文件可以做的事情:加载配置文件,获取Factory对象,获取session
Session session = HibernateUtils.getSession();
Transaction tr = session.beginTransaction();
Customer c = new Customer();
c.setCust_name("苍井空");
session.save(c);
//提交事务
tr.commit();
//释放资源
session.close();
}
}
hibernate框架简单步骤的更多相关文章
- Hibernate框架简单应用
Hibernate框架简单应用 Hibernate的核心组件在基于MVC设计模式的JAVA WEB应用中,Hibernate可以作为模型层/数据访问层.它通过配置文件(hibernate.proper ...
- spring框架整合hibernate框架简单操作数据库
1.配置文件: <?xml version="1.0" encoding="UTF-8"?><beans xmlns="http:/ ...
- Hibernate 框架简单解说
- 2.0、Hibernate框架的简单搭建
一.Hibernate:是一个开放源代码的对象关系映射框架,对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句 ...
- 关于HttpSession 和 Hibernate框架中 session异同点的简单解析
快速理解: HttpSession中的session是一个容器用来盛基于会话机制的信息. 比喻:我把钱放进银行的保险柜里. 解析:我的钱就是我的信息,ID等 银行的保险柜就是session容器. Hi ...
- SSH框架搭建步骤总结以及Hibernate二级缓存,查询缓存
二级缓存.查询缓存 一级缓存: 默认启动,生命周期是和session同步的,session独享 二级缓存: 需要加载配置信息,生命周期是和应用服务器同步,session共享 1:在hibernate. ...
- hibernate框架的简单入门
1.什么是框架 框架是一个半成品,框架帮我们实现了一部分的功能. 2.使用框架的最大好处 使用框架的最大好处就是,少写一部分代码但仍能实现我们所需要实现的功能. 3.什么是hiberbnate框架 ( ...
- JAVA框架之Hibernate框架的学习步骤
首先介绍一下Java三大框架的关系 以CRM项目即客户关系管理项目示例 hibernate框架的学习路线: 1.学习框架入门,自己搭建框架,完成增删改查的操作 2.学习一级缓存,事物管理和基本查询 3 ...
- hibernate 框架的简单使用
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuratio ...
随机推荐
- 11. Linux——LCD驱动程序
由上一节 得出写个LCD驱动入口函数,需要以下4步: 1) 分配一个fb_info结构体: framebuffer_alloc(); 2) 设置fb_info 3) 设置硬件相关的操作 4) 使能LC ...
- JS截取字符串 charAt(),slice(),substring(),substr()
1. charAt(i)输出指定下标的字母,长度为1,适用于把字符串切割成单个字符串. 2. slice() 和 substring() 都支持1-2个参数,第一个参数是开始位置,第二个参数是结束位置 ...
- arguments对象、apply()、匿名函数
在学习arguments对象时,碰到的一段code,不是太好理解.原文地址中文(http://www.jb51.net/article/25048.htm).英文(http://www.sitepoi ...
- vc 常用语句
1) CMainFrame* pmainframe=(CMainFrame*)AfxGetMainWnd();CChildFrame *m_finderframe=(CChildFrame*)pmai ...
- Java中接口继承泛型接口
在使用Mybatis做web开发时,每一个模块的数据持久层的接口都会定义:增删改查四个方法.我想为什么不新建一个Base接口来做所有数据持久层的父接口呢? 于是,我试验了一下,建立了一个泛型接口,里面 ...
- CSS伪元素与伪类的区别
伪类和伪元素介绍 伪类:伪类选择元素基于的是当前元素处于的状态,或者说元素当前所具有的特性,而不是元素的id.class.属性等静态的标志.由于状态是动态变化的,所以一个元素达到一个特定状态时,它可能 ...
- 洛谷—— P1091 合唱队形
https://www.luogu.org/problem/show?pid=1091#sub || http://codevs.cn/problem/1058/ 题目描述 N位同学站成一排,音乐 ...
- Codeforces Round #258 (Div. 2)——B. Sort the Array
B. Sort the Array time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- ubuntu, 修改hosts文件
介绍下ubuntu下修改host实现域名指向本地的方法. Ubuntu系统的Hosts只需修改/etc/hosts文件,在目录中还有一个hosts.conf文件,刚开始还以为只需要修改这个就可以了,结 ...
- IntelliJ IDEA+SpringBoot中静态资源访问路径陷阱:静态资源访问404
IntelliJ IDEA+SpringBoot中静态资源访问路径陷阱:静态资源访问404 .embody{ padding:10px 10px 10px; margin:0 -20px; borde ...