第十一章 Hibernate的查询 Query Language(官方推荐使用)
2023-09-14 08:57:15 时间
p span >主要是通过 org.hibernate.Query接口的实例来使用HQL语句进行查询。
HQL语法:http://blog.csdn.net/p_3er/article/details/9064551
1、简单的查询(from+实体类名称)
4、根据外键作为条件查询
5、分页(重点)
Query query = session.createQuery("from User"); List User list = query.list(); for(User user : list){ System.out.println(user.getUsername()); }
Query query = session.createQuery("from User as u where u.id 210"); List User list = query.list(); for(User user : list){ System.out.println(user.getUsername()); }这里只是简单的条件查询,更多可以通过查看hql语法进行操作。 3、预处理的HQL
使用?号来占位:
Query query = session.createQuery("from User as u where u.id ?"); //这里第一个参数代表的是占位符的位置,从0开始。第二个是指这个位置的值。而setXXX()方法是根据值的类型来决定的。setString()、setDouble()、setInteger()等。 query.setInteger(0, 210); List User list = query.list(); for(User user : list){ System.out.println(user.getUsername()); }
使用字符串(如:n)来占位:
Query query = session.createQuery("from User as u where u.id :n"); //基本上和和使用?号占位方式一样。注意:这里占位符的前面还有一个:号。 query.setInteger("n", 210); List User list = query.list(); for(User user : list){ System.out.println(user.getUsername()); }
4、根据外键作为条件查询
Query query = session.createQuery("from IdCard as idCard where idCard.person.id =15"); List IdCard list = query.list(); for(IdCard idCard : list){ System.out.println(idCard.getCardNo()); }
5、分页(重点)
Query query = session.createQuery("from User"); query.setFirstResult(0); //从哪条记录开始 query.setMaxResults(5); //取多少条记录 List User list = query.list(); for(User user : list){ System.out.println(user.getUsername()); //具体: Query query = session.createQuery(hql); Query q = session.createQuery("select count(*) from Person"); Long count = (Long) q.uniqueResult();查询记录只有一条的时候使用。
Query query = session.createQuery("select count(*)from User"); Long count = (Long) query.uniqueResult(); System.out.println(count);
SQL Optimizer 解析|青训营笔记 文章主要分为四个方面:1.大数据体系和 SQL;2.常见的查询优化器;3.查询优化器的社区开源实践;4.SQL 相关的前沿趋势。
相关文章
- 怎么识别百度蜘蛛Baiduspider的真假呢?官方推荐方法
- Oracle 视图 DBA_APPLY_DML_HANDLERS 官方解释,作用,如何使用详细说明
- Oracle 视图 USER_ATTRIBUTE_DIM_ATTR_CLS 官方解释,作用,如何使用详细说明
- Oracle 视图 USER_MVIEW_LOGS 官方解释,作用,如何使用详细说明
- Oracle 视图 USER_SEGMENTS 官方解释,作用,如何使用详细说明
- Oracle 视图 DBA_SCHEDULER_REMOTE_JOBSTATE 官方解释,作用,如何使用详细说明
- Oracle 视图 V$BACKUP_SPFILE 官方解释,作用,如何使用详细说明
- Oracle 视图 V$EVENT_NAME 官方解释,作用,如何使用详细说明
- Oracle 视图 V$MVREFRESH 官方解释,作用,如何使用详细说明
- Oracle 参数 OPTIMIZER_ADAPTIVE_PLANS 官方解释,作用,如何配置最优化建议
- Oracle 等待事件 DFS lock handle 官方解释,作用,如何使用及优化方法
- Hibernate hibernate.order_updates属性:为SQL更新排序
- 建立Hibernate与MySQL的友好连接(hibernate连接mysql)
- 蔚来自动辅助驾驶车祸致死 官方回应:事发平原路段 相对平直