Hibernate中的session的有关方法

Session session=HibernateUntil.getSessionFactory().openSession();
	Transaction tx=session.beginTransaction();
	
	
	
	
	//一 使用update函数
	
	/*User1 u=new User1();
	u.setName("fei111");
	u.setPassword("123456");
	u.setId(1);
	//使用update函数时,必须指定id,
	session.update(u);*/
	
	
	
	//二  使用  saveOrUpdate方法
	/*String hql="from User1 user1";
	//通过aession的createQuery方法创建了Query对象
	Query query=session.createQuery(hql);
	
	List users=query.list();//返回结果集
	
	//便利结果集 
	for (int i=0;i<users.size();i++)
	{
		User1 u=(User1) users.get(i);
		System.out.println(u.toString());
		u.setName("Jack");
		session.saveOrUpdate(u);
	}
	*/
	
	//三 delete方法  删除记录{必须设置主键删除}
	//如果传入对象不是持久态,需要将对象与session实例相关联,使其转换成持久态
	
	/*User1 u=new User1();
	u.setId(2);
	session.delete(u);//删除对应的数据
	*/
	
	
	//四  get()方法【通过标识符(主键)得到制定类的持久化对象】
	//参数2   的类型必须和属性一致   {比如User1的标识符类型时int,参数2必须时int}
	/*User1 u=(User1) session.get(User1.class,2);
	System.out.println(u.toString());*/
	
	
	//五  load方法(采用延迟加载发的方市)
	/*User1 user=(User1) session.load(User1.class, 1);
	System.out.println(user.toString());*/
	
//	get()方法和load()方法的区别
//	1.擦还找记录不存在时,get()方法会返回空,二load()方法会抛出异常
//	2.get()方法返回实体类,而load()方法返回代理类实例(只有id值,其他值空的)
	
	
	//六  contains()方法  判断实体对象是否与当前的session对象相关联,判断实体对象是否处在持久态
	/*User1 u=new User1();
	u.setId(1);
	System.out.println(session.contains(u));*/
	
	
	//七  evict()方法  用来管理session缓存
	//当session打开时间过长或者载入数据过多,会占大量内存
	
	//如果u对象实例在session中,则将其移除
	/*User1 u=new User1();
	u.setId(1);
	if(session.contains(u))
	{
		session.evict(u);
	}*/
	
	
	//八  clear()函数  清空session()
	/*session.clear();*/
	
	//九   creaeteQuery()方法   创建Query()查询接口的实例,可以使用HQL语言进行数据库的查询操作
	
	/*Query query=session.createQuery("from user1");//创建Query实例
	List<User1> list=query.list();*/
	
	
	//十  createCriteria,可以设置条案件来执行数据库的查询操作
	/*Criteria criteria=session.createCriteria(User1.class);
	criteria.setMaxResults(50);//结果条数
	List users=criteria.list();*/
	
	//十一  createSQLQuery()方法  用于创建SQLQuery查询接口实例,可以通过标准的SQL语句来查询
	/*List<User1> users=session.createSQLQuery("select * from user1").list();
	System.out.println(users.get(1));
	*/
	//十二  createFilter方法
	//用于一个持久化集合或者数组的特殊的查询
//	下面代码的作用是查询班级team中成绩高于80分的学生集合
	/*Collection StudentScore=session.createFilter(
			team.getStudents(),
			"where this.score>?"     //HQL语句,过滤作用
			).setParameter(1,new Integer(80)).list();   //设置HQL语句中的参数
	*/
	
	
	
	
	
	
	
	
	
	
	
	tx.commit();
	HibernateUntil.shutdown();//关闭session实例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞飞翼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值