public class Test01 {
public static void main(String[] args) {
Configuration cfg=new Configuration().configure();
SessionFactory sf=cfg.buildSessionFactory();
Session session=sf.openSession();
session.beginTransaction();
//Group gp=new Group();
//gp.setName("java19班级");
//session.save(gp); //id
//第一种查询方式
/**
Criteria criteria=session.createCriteria(Group.class);
criteria.add(Restrictions.or(Restrictions.like("name","%3%"), Restrictions.idEq(1)));
criteria.add(Expression.like("name","%3%")).add(Expression.idEq(2)).addOrder(Order.desc("name"));
*
*/
//第二种查询方式
//Query query=session.createQuery("from Group where name like '好%' ");
//第三种 1 本地sql方式查询
//Query query=session.getNamedQuery("findByName");
//第三种 2 本地sql方式查询
String sql="SELECT l.* FROM tb_group l where l.id=? or l.name like ?";
Query query=session.createSQLQuery(sql).addEntity("l",Group.class);
query.setInteger(0, 1);
query.setString(1, "3%");
List<Group> ls=query.list();
for (Group gp : ls) {
System.out.println(gp.getName());
}
session.beginTransaction().commit();
session.close();
sf.close();
}
}
//////////////////////////////////
<sql-query name="findByName1">
{call findByNames(?,?)}
<!--
DELIMITER $$
DROP PROCEDURE IF EXISTS findByNames$$
CREATE PROCEDURE findByNames( IN id INT,IN namess VARCHAR(20))
BEGIN
SELECT l.* FROM tb_group l WHERE l.id=id AND l.name=namess;
END$$
DELIMITER ;
-->
<return class="com.mwl.Group"/>
</sql-query>
相关推荐
在Hibernate中,可以使用以下几种方式来实现多表联合查询: - **HQL (Hibernate Query Language)** - **Criteria API** - **Native SQL** 本文将重点介绍如何使用HQL和Native SQL来实现多表联合查询。 #### 三、...
通过本文的介绍,我们不仅回顾了数据库表连接的基础知识,还深入了解了Hibernate HQL关联查询的实现原理及应用方法。对于开发者而言,掌握HQL关联查询不仅可以提高查询效率,还能让代码更加简洁易懂。希望本文能帮助...
总结,Hibernate提供多种方式查询数据表中的字段,包括HQL、Criteria API和DetachedCriteria,选择合适的方法取决于具体需求。正确理解和使用Hibernate,能够大大提高Java开发中的数据库操作效率。
**Hibernate查询方法大全** Hibernate,作为Java领域中最流行的持久化框架之一,提供了多种查询数据的方法。这些方法使得开发者能够高效地从数据库中检索、更新和删除数据,无需编写大量SQL语句。本篇文章将深入...
本篇文章将详细解析Hibernate中的三种主要查询方式——HQL(Hibernate Query Language)、Criteria API和Query API,并着重讨论`load()`与`get()`方法的区别。 一、HQL查询 Hibernate Query Language(HQL)是...
完整的分页查询方法实现如下: ```java public List getPageList(int thisNumber, int sumCount, String sql) { Session session = sf.openSession(); try { Query query = session.createQuery(sql); int ...
本篇文章主要探讨如何利用Hibernate实现动态SQL查询,结合XML配置和FREEMARKER模板引擎来生成执行的SQL语句。 一、Hibernate简介 Hibernate作为一款强大的持久层框架,它简化了Java应用程序与数据库之间的交互。...
Hibernate提供了两种基本的分页查询方法: 1. **基于SQL LIMIT关键字的分页**:这种方式适用于支持LIMIT关键字的数据库,如MySQL。 2. **基于ROWNUM的分页**:这种方式主要针对Oracle等不支持LIMIT关键字的数据库。 ...
2. **HQL(Hibernate Query Language)**:这是Hibernate提供的一种查询语言,类似于SQL,但更加面向对象。通过HQL,我们可以方便地查询数据库中的记录。 3. **Struts标签库**:Struts提供了一系列自定义的JSP标签...
Hibernate支持使用`createSQLQuery`方法创建SQL查询,并返回结果集。例如: ```java Session session = sessionFactory.openSession(); SQLQuery sqlQuery = session.createSQLQuery("SELECT * FROM USER WHERE ...
接下来,我们讨论 Hibernate 的四种主要查询方式: 1. **HQL(Hibernate Query Language)**: 类似于SQL,但面向对象。HQL允许你以类和属性的名称进行查询,而不是表和列。例如,如果你有一个`User`类,你可以这样...
2. HQL(Hibernate Query Language):这是一种面向对象的查询语言,类似于SQL,但更贴近于Java对象。HQL可以方便地进行对象间的关联查询,支持聚合函数和子查询。 3. Query API:这是基于HQL的查询接口,提供了...
标题:“Hibernate的四种典型例子(增删改查)” 描述:“简单明了,狠适合初学者看看” 在Java开发领域,Hibernate是一个非常流行的开源对象关系映射(Object Relational Mapping,ORM)框架,它简化了Java应用与...
分页查询是一种在数据量较大的情况下,为了提高用户体验和系统性能而采取的一种技术手段。它将查询结果分成若干页显示,用户可以通过翻页操作查看不同的数据集。 在进行分页查询时,通常需要指定两个重要的参数:`...
Hibernate Criteria 查询是一种强大的对象化查询方式,它为开发者提供了一种灵活而直观的方式来构建复杂的查询逻辑。与传统的SQL查询相比,Criteria查询更加面向对象,易于理解和维护。在Hibernate框架中,Criteria...
HQL(Hibernate Query Language)是一种面向对象的查询语言,它允许开发者使用类及其属性来编写查询语句,而不是传统的SQL语句。这使得开发人员能够更加专注于业务逻辑而不用深入到SQL层面。HQL支持各种复杂的查询,...
Hibernate是一个开放源代码的ORM框架,它提供了一种在Java应用程序中持久化对象到关系数据库的方式。通过使用Hibernate,开发者可以避免直接编写SQL语句,而是通过Java对象和类来操作数据库,降低了数据库操作的复杂...
HQL(Hibernate Query Language,Hibernate 查询语言)是 Hibernate 提供的一种查询语言,它可以用于查询数据库中的数据。HQL 查询可以分为两种:一种是基于对象的查询,另一种是基于 SQL 的查询。 1.1 基于对象的 ...
本文将详细介绍几种常见的动态表查询方法,并给出具体的代码示例。 #### 二、核心概念与技术点 1. **命名策略(NamingStrategy)**:Hibernate默认使用一种命名策略来转换实体类属性名到数据库列名。如果希望...