第四讲:hibernate 的session (二)

时间:2022-12-23 23:56:05

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  (二)