Hibernate使用套路,新手请进
package cn.zhaoqinrong.MainApp; import org.apache.log4j.Logger;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration; import java.io.File; public class HibTest {
private Logger logger=Logger.getLogger(HibTest.class);
public void firstshow(){
Configuration conf=null;//加载Hibernate的配置文件
SessionFactory sf=null;//创建session
Session session=null;//session实施持久化操作的关键API
Transaction tx=null;//事务控制 try {
//1.创建Configuration的实例,并加载配置文件
conf=new Configuration().configure("hibernate.cfg.xml");
logger.debug("加载配置文件成功");
//获取sessionFactory工厂实例
sf=conf.buildSessionFactory();
logger.debug("创建sessionFactory实例");
//通过sessionFactory来获取session对象
session=sf.getCurrentSession();//推荐使用
/*
* SessionFactory.openSession来得到的session需要手工关闭,hibernate不会对其进行管理
* SessionFactory.getcurrentSession()得到的session由hibernate进行管理,不需要手动进行关闭,事务提交后,会话会自动关闭
* 在配置文件中配置 <property name="current_session_context_class">thread</property>,将session
* 与线程进行绑定
*
* */
logger.debug("创建session实例");
tx= session.beginTransaction();
logger.debug("事务开启");
//2.加载配置文件
//3.
} catch (HibernateException e) {
e.printStackTrace();
if(tx!=null){
tx.rollback();//session会自动关闭
}
} finally {
//如果使用open打开的session.必须使用finally对session进行关闭
}
}
}
package cn.zhaoqinrong.MainApp; import org.apache.log4j.Logger;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration; import java.io.File; public class HibTest {
private Logger logger=Logger.getLogger(HibTest.class);
public void firstshow(){
Configuration conf=null;//加载Hibernate的配置文件
SessionFactory sf=null;//创建session
Session session=null;//session实施持久化操作的关键API
Transaction tx=null;//事务控制 try {
//1.创建Configuration的实例,并加载配置文件
conf=new Configuration().configure("hibernate.cfg.xml");
logger.debug("加载配置文件成功");
//获取sessionFactory工厂实例
sf=conf.buildSessionFactory();
logger.debug("创建sessionFactory实例");
//通过sessionFactory来获取session对象
session=sf.getCurrentSession();//推荐使用
/*
* SessionFactory.openSession来得到的session需要手工关闭,hibernate不会对其进行管理
* SessionFactory.getcurrentSession()得到的session由hibernate进行管理,不需要手动进行关闭,事务提交后,会话会自动关闭
* 在配置文件中配置 <property name="current_session_context_class">thread</property>,将session
* 与线程进行绑定
*
* */
logger.debug("创建session实例");
tx= session.beginTransaction();
logger.debug("事务开启");
//2.加载配置文件
//3.
} catch (HibernateException e) {
e.printStackTrace();
if(tx!=null){
tx.rollback();//session会自动关闭
}
} finally {
//如果使用open打开的session.必须使用finally对session进行关闭
}
}
}
Hibernate使用套路,新手请进的更多相关文章
- java JSP(原创新手可进)
一. 同等编程方式jsp与asp.net的不同 app需要做一个简单网站,和几个用户推广链接,所以涉及到web这块开发,原本昨天想直接使用asp.net来做,但是之后放弃了这个想法,因为数据访问接口都 ...
- 什么是RST包,什么是三次握手,什么是四次握手 ---请进
一.RST包.本人学习后总结:RST包用于强制关闭TCP链接. TCP连接关闭的正常方法是四次握手.但四次握手不是关闭TCP连接的唯一方法. 有时,如果主机需要尽快关闭连接(或连接超时,端口或主机不可 ...
- python如何玩“跳一跳”!(windows安桌版本请进!)
最近"跳一跳",很火爆,有木有? 看了一下网上的教程,动作搭建了一下环境,就可以用脚本自动跑起来啦!!! 下面说一下android手机的实现过程: 首先,是python环境的搭建 ...
- alidoing --使用JS实现多语言框架、喜欢的请进、、瓦特平台!
大家好! 多语言实现的案例:http://alidoing.com/或者http://www.alidoing.com/ 图:切换语言界面 JS代码实现: 1.首先新建一个对象langobj,当然对象 ...
- 从FPGA搞定OV7670 VGA显示 移植到 STM32F10x TFT显示 总结及疑问(高手请进)
OV7670不愧是最便宜的摄像头了最大显示像素:640*480(在VGA显示器上显示效果还不赖,用usb模块采集显示依然显著) 第一步:VGA显示 视频图像(实时)FPGA+SDRAM+OV7670= ...
- 从测试点点君跨入年薪30W的自动化逍遥君的人生感悟--测试君请进,绝对让你不虚此行!
一.前言:人生感悟 人生,就是一个苏醒的过程,生命就是一次历练,从鲜衣怒马,到银碗里盛雪,从青葱岁月到白发染鬓,人总是会在经历中成长,在成长中懂得,在懂得里看透,看透而不说透,从而一步一步的走向成熟, ...
- [已招满,谢谢关注]Sogou招聘C#开发人员,有意者请进
职位名称:c#开发工程师 工作地点:搜狐网络大厦 职责:搜狗商业平台桌面产品 职位要求: 1. 计算机或者相关专业本科或以上学历 2. 精通c#,两年以上实际项目开发经验 3. 熟悉C/S开发架构和设 ...
- jquery-图片轮播(新手请大神指教一下)
这是我刚学jquery写的,感觉效果不是很好. #scrollPics{ height: 330px; width: 980px; margin-bottom: 10px; overflow: hid ...
- WINDOWS权限大牛们,请进
大家好, 我遇到一个问题,我的一台windows7去访问另一个电脑的共享,输入账号密码后,老是说密码不正确.而其他电脑去访问共享,密码账号密码后都OK 我想知道原因是什么?
随机推荐
- Balanced Sequence HDU - 6299(杭电多校1 B)
题目说要n个字符串串内随意组合以后将这些串放在一起,然后求最长的括号匹配的长度,并不要求是连续的 因为不需要是连续的,所以可以先把已经匹配好的括号加入到答案里面去,先把这些删掉,以为并不影响结果,然后 ...
- Keepalived+Nginx搭建主从高可用并带nginx检测
应用环境:部分时候,WEB访问量一般,或者测试使用,利用Keepalived给Nginx做高可用即可满足要求. 测试环境: 搭建步骤: 1. 安装软件 在Nginx-A和Nginx-B上: ~]# ...
- mysql 替换字符中部分字符,替换使用指定字符
update table_name set name= replace(name,'我是','是');
- 搭建简易的WebServer(基于pyhton实现简易Web框架 使用socket套接字)
1. 使用web底层socket的方式实现简易服务器的搭建,用来理解学习 # 1.导入socket模块 import socket import re import gevent import sys ...
- Linux:文件系统层次结构标准(Filesystem Hierarchy Standard)
Linux FHS_2.3标准文档:http://refspecs.linuxfoundation.org/FHS_3.0/fhs-3.0.pdf
- Python使用import导入相对路径的其他py文件
假如有如下的目录结构 . ├── setup.py ├── main.py ├── mod/ │ └── mod.py └── sub/ └── sub.py 情况1:setup.py导入main ...
- 1062.Talent and Virtue
About 900 years ago, a Chinese philosopher Sima Guang wrote a history book in which he talked about ...
- smartProgram学习笔记
背景:转正前要完成这样一个编程课的学习.平时写代码只是完成基本的功能,没有养成良好的习惯,感觉这样的课程还是要好好学习下,要不真是不知道什么叫写代码. Week1 为什么要写好代码? 因为平时读:写代 ...
- 破解phpstorm
说下破解的版本:PHPstorm2018.2.2 打开phpstorm,选择Activation code 粘贴下面这段code EB101IWSWD-eyJsaWNlbnNlSWQiOiJFQjEw ...
- (贪心 线段不相交问题)codeVs 1214 线段覆盖
题目描述 Description 给定x轴上的N(0<N<100)条线段,每个线段由它的二个端点a_I和b_I确定,I=1,2,……N.这些坐标都是区间(-999,999)的整数.有些线段 ...