Hibernate-----Query接口的常用方法

Session session=HibernateUntil.getSessionFactory().openSession();
	Transaction tx=session.beginTransaction();
	
	//Query
	
	//1.setter方法    【from后面不是表名,是实体类名字】
	/*String hql="from User1 where id= :userAge";
	Query query=session.createQuery(hql);
	query.setInteger("userAge", 1);//根据名称设置Interger类型的属性
	List<User1> users=query.list();//执行查询语句,返回list类型查询结果
	System.out.println(users.size());
	for (int i = 0; i < users.size(); i++) {
		System.out.println(users.get(i).toString());
	}*/
	
	//下面举例,如何根据位置设置参数
	/*Query query1=session.createQuery("from User1 where id=?");
	query1.setInteger(0, 1);
	List<User1> users1=query1.list();//执行查询语句,返回List类型的结果
	System.out.println(users1.size());
	for (int i = 0; i < users1.size(); i++) {
		System.out.println(users1.get(i).toString());
	}*/
	
	
	//2.函数list()用于执行查询语句,查询结果以集合返回
	//3.iterator()方法,用于执行查询语句,返回的结果是一个Integer,在读取是只能按照顺序方式读取
	 //仅仅把使用到的数据转换成Java对象,缺点只能按照顺序读取
	/*Query query =session.createQuery("from User1");
	Iterator iter=query.iterate();*/
	//遍历结果集
	/*while(iter.hasNext())
	{
		User1 user =(User1) iter.next();
		System.out.println(user.toString());
	}
	*/
	
//	4.uniqueResult()方法   用与返回唯一的结果
	//在确保最多只有一天记录满足查询条件的时候可以使用该方法
	/*Query query=session.createQuery("from User1 where id=1");
	User1 user=(User1) query.uniqueResult();//执行查询语句,直接将查询结果转换成Usre对象
	System.out.println(user);*/
	
	
	//  5.executeUpdate()方法,是Hibernate3的新特性,可以更新和删除操作
	/*Query query1=session.createQuery("update User1 set password=? where id=?");
	query1.setString(0, "jj");
	query1.setInteger(1, 1);
	query1.executeUpdate();//执行修改语句
*/	
	//使用方法五  删除操作
	/*Query query2=session.createQuery("delete User1 where id< 2");
	query2.executeUpdate();*/
	
	
	//6.setFirstResult()和setMaxResult()方法结合使用,来实现分页功能
//	setFirstResult()  可以设置所获取的第一个记录的位置
//	setMaxResult()设置结果集的最大记录数
	Query query=session.createQuery("from User1");//创建QUery实例
	int currentPage=6;//当前页数
	int pageSize=2;//设置每页记录数
	query.setFirstResult((currentPage-1)*pageSize);//设置起始位置
	query.setMaxResults(pageSize);
	List users=query.list();
	for (int i = 0; i < users.size(); i++) {
		System.out.println(users.get(i).toString());
	}
	//查询的条数超过记录数,返回空集合
	
	
	
	
	
	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、付费专栏及课程。

余额充值