ssh框架学习过程中的一些小知识和笔记

本文通过一个具体的示例,详细解释了如何使用Hibernate HQL进行分页查询,包括设置每页显示的数量及起始位置,并展示了如何遍历查询结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

       由于学校还要到大三才学习java,所以本人的java知识相当薄弱。

       在学习hibernate hql语句的时候,比如下面的代码

        @Test
public void HQL4() {
testsave1();
Session session = sf.openSession();
session.beginTransaction();
Query q = session.createQuery("from Category c order by c.name desc");
q.setMaxResults(4);//控制显示在页面上的数量
q.setFirstResult(2);//显示在页面上开始的第一个值
List<Category> categories = (List<Category>)q.list();               
for(Category c : categories) {
System.out.println(c.getId() + "-" + c.getName());
}
session.getTransaction().commit();
session.close();
}

开始的时候一直不懂到底从类Category中拿出来的对象是以一个什么样的方式存到List中去的,后来才明白上面的hql语句是将Category这个类里面的所有的对象(记住一定是以对象的形式一个一个存进去的),

所以在

for(Category c : categories) {
System.out.println(c.getId() + "-" + c.getName());
}  
                  

//先get第一个对象的id和name    就是下面对应的  8-c7,所以这个循环就是

for(i=0;i<list.size;i++)    

{   Category c=Category[i]; System.out.println(c.getId() + "-" + c.getName());  } 

 List只是一个类型,实际存放的是Category[0]  ,Category[1]。。。    而上面那个循环式对Category进行循环。

打印的时候,会显示(前面是id,后面是name)

8-c7

7-c6
6-c5
5-c4





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值