第四讲:hibernate 的session (二)
Session在hibernate中表示连接。下面介绍他的常用方法。
在使用前先把最重要的说了。打开API,发现在session中基本所有的方法(包括获得session的方法)都会抛出异常HibernateException,HibernateException异常为一个运行时异常,所以我们在程序中不处理编译也不会报错。但是因为我们在结尾处要一定要关闭session,所以必须把他们放在try里
1.HibernateSessionFactory.getSession()
获得session
2.close()方法
用于关闭session,在关闭前先判断一下他是不是为空,必须放在finally中
if(session!=null)
session.close();
3.createQuery()方法
用于创建Query
4.get(Class clazz,Serializable id)方法
注意get方法只能根据主键值查询,返回的是对象,也就是说他只能查询一条记录
TUser user=(TUser)session.get(TUser.class,3001);
5.load(Class clazz,Serializable id)方法
使用频率较低,他与get是由区别的
6.update(Object object)
更新操作,如果对象中有几个实例变量没有设置值,他会更新为默认值,所以推荐更新使用HQL的方式
7.delete(Object object)
删除操作,可以只设置主键值
8.save(Object object)
向数据库中插入数据
9.beginTransaction()
启动事务,用于update,delete,insert
10.saveOrUpdate(Object object)
在不确定应该插入还是更新的情况下使用它
11.getNamedQuery(String queryName)
用于命名查询,在配置文件中定义好然后再这里调用

第四讲:hibernate 的session (二)的更多相关文章
- 《视觉SLAM十四讲》学习日志(二)——初识SLAM
小萝卜机器人的例子: 就像这种机器人,它的下面有一组轮子,脑袋上有相机(眼睛),为了让它能够探索一个房间,它需要知道: 1.我在哪——定位 2.周围环境怎么样——建图 定位和建图可以理解成感知的 &q ...
- hibernate中session的获取使用以及其他注意事项
hibernate中session的获取使用以及其他注意事项 前言:工作时,在同时使用Hibernate的getSession().getHibernateTemplate()获取Session后进行 ...
- Hibernate学习笔记二:Hibernate缓存策略详解
一:为什么使用Hibernate缓存: Hibernate是一个持久层框架,经常访问物理数据库. 为了降低应用程序访问物理数据库的频次,从而提高应用程序的性能. 缓存内的数据是对物理数据源的复制,应用 ...
- Hibernate框架简介(二)基本使用增、删、改、查
一.Hibernate框架简介 Hibernate是一个优秀的Java持久化层解决方案,是当今主流的对象-关系映射(ORM,ObjectRelationalMapping)工具 1.1.理解持久化 瞬 ...
- Hibernate知识点小结(二)
一.持久化对象和标识符 1.持久化类 配置完关系后,操作的实体对应的类,成为持久化类 (Customer) 2.持久化类标识符(oid:object id) 3.持久 ...
- Hibernate Open Session In View模式【转】
来源:http://www.yybean.com/opensessioninviewfilter-role-and-configuration 一.作用 Spring为我们解决Hibernate的Se ...
- Stanford机器学习---第四讲. 神经网络的表示 Neural Networks representation
原文 http://blog.csdn.net/abcjennifer/article/details/7749309 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...
- 转:C#精髓 第四讲 GridView 72般绝技
说明:准备出一个系列,所谓精髓讲C#语言要点.这个系列没有先后顺序,不过尽量做到精.可能会不断增删整理,本系列最原始出处是csdn博客,谢谢关注. C#精髓 第四讲 GridView 72般绝技 作者 ...
- Hibernate 缓存机制二(转)
感谢:http://www.cnblogs.com/wean/archive/2012/05/16/2502724.html 一.why(为什么要用Hibernate缓存?) Hibernate是一个 ...
随机推荐
- MYSQL注入天书之宽字节注入
Background-7 宽字节注入 Less-32,33,34,35,36,37六关全部是针对'和\的过滤,所以我们放在一起来进行讨论. 对宽字节注入的同学应该对这几关的bypass方式应该比较了解 ...
- 13test07;字符排序,去重,三三输出
#include<iostream> #include<string> using namespace std; void buddle(char*,int);//对输入字符的 ...
- PHP event 事件机制
PHP event 事件机制 <?php /* * PHP 事件机制 */ class baseClass{ private $_e; public function __set($name ...
- 如何在 Swift 语言下使用 iOS Charts API 制作漂亮图表?
[编者按]本文作者 Joyce Echessa 是渥合数位服务创办人,毕业于台湾大学,近年来专注于协助客户进行 App 软体以及网站开发.文中作者通过示例介绍用 ios-charts 库创建简易美观的 ...
- HDU 1828 / POJ 1177 Picture (线段树扫描线,求矩阵并的周长,经典题)
做这道题之前,建议先做POJ 1151 Atlantis,经典的扫描线求矩阵的面积并 参考连接: http://www.cnblogs.com/scau20110726/archive/2013/0 ...
- c# string.Format用法总结
文章出处:http://www.cnblogs.com/7788/archive/2009/05/13/1455920.html 先举几个简单的应用案例: 1.格式化货币(跟系统的环境有关,中文系统默 ...
- hdu 4767 Bell
思路:矩阵快速幂+中国剩余定理!! 查资料得到2个公式: 1) B[n+p] = B[n] + B[n+1] mod p ; 2) B[p^m+n] = ...
- House Robber II
https://leetcode.com/problems/house-robber-ii/ Note: This is an extension of House Robber. After rob ...
- Sold out
When will the writer see the play? 'The play may begin at any moment,'I said. 'It may have begun alr ...
- C#程序大打开
打开一个已经存在的工程: 1.用vs打开(.sln)解决方案的文件.(若提示VS提示版本不一致,可用方法二) 2.删除(.sln)的文件.打开项目(.csproj) 文件或 (.vbproj) 文件, ...