SSH中DAO里多表查询HQL常见写法
当你在学SSH的时候会觉得这个很简单,但如果过几个月,你会忘得干干净净,所以还是记录下吧,一个demo
//根据用户ID找出其它,并关联用户表
public List<Object[]> findbyuserid(int userid){
List<Object[]> list = null;
Session session=HibernateSessionFactory.getSession(); //创建session
int count=0;
try {
String hql="select a,b from TShop a,TUserInfo b where a.TUserInfo.id=b.id and a.TUserInfo.id="+userid+""; //写hql语句
Query q=session.createQuery(hql); //生成Query查询对象
list = q.list(); //执行查询方法,返回list
} catch (Exception e) {
e.printStackTrace();
}finally{
HibernateSessionFactory.closeSession(); //关闭session
return list;
}
}
}
q.uniqueResult 用于返回一个值的时候
多表查询返回一个List<Object[]>
类里遍历
for(Object[] obj:list){
TShop shop = (TShop)obj[0];
TUserInfo userinfo = (TUserInfo)obj[1];
}
前台遍历
<logic:present name="vipshops">
<logic:iterate id="viplist" name="vipshops">
<c:set var="shop" value="${viplist[0]}"></c:set>
<c:set var="userinfo" value="${viplist[1]}"></c:set>
</logic:iterate>
</logic:present>
分享到:
相关推荐
其中,多表查询是处理复杂数据关系的关键技术,它允许开发者在一个查询语句中同时操作多个表,从而提高数据处理的效率和查询的灵活性。多表查询通常涉及到表之间的关联关系,如一对一、一对多或许多对多关系。 ### ...
SSM和SSH是Java开发中常用的两大框架组合,它们在企业级应用开发中扮演着重要角色。本笔记主要涵盖了Spring、SpringMVC、Mybatis(SSM)以及Struts、Hibernate、Spring(SSH)框架的核心概念、配置及实战应用。 **...
### HQL的几种常见写法 #### 概述 HQL(Hibernate Query Language)是Hibernate框架提供的一种查询语言,它支持面向对象的语法结构,并且能够很好地与Java对象模型进行映射。通过HQL,开发者可以更加灵活地操作...
4.3 查询语言HQL:Hibernate Query Language是Hibernate提供的面向对象的查询语言,类似于SQL但更面向对象。 4.4 Criteria API:提供了一种更动态、类型安全的查询方式,避免硬编码HQL,提高代码可读性和可维护性。...
【标题】中的“2017黑马程序员第一天Hibernate讲义,笔记,源码”表明这是一个关于Hibernate框架的初学者教程,由知名的IT培训机构黑马程序员在2017年制作,内容可能包括讲义、学习笔记以及相关的源代码示例。...
在多表查询中,Hibernate支持HQL(Hibernate Query Language)和Criteria API,可以方便地编写多表联查的查询语句,通过定义实体间的关系(如一对多、多对多),实现JOIN查询。 对于"CRM"库的开发,这通常涉及到...
《黑马程序员_hibernate框架开发2016版讲义和笔记资料_day02》 本文将深入探讨2016年黑马程序员发布的Hibernate框架开发课程的第二天内容。Hibernate,一个强大的Java持久化框架,简化了数据库操作,为开发者提供了...
SSH笔记-HQL查询(基于位置参数查询、基于命名参数查询、分页查询、命名查询、投影查询报表查询、内/迫切内/左外/迫切左外连接查询)、QBC(QBC检索查询、统计查询、排序查询、HQL操作数据库)、本地SQL查询
"Hibernate-HQL语句多对多写法" Hibernate 是一个流行的 Java 持久层框架,它提供了强大的对象关系映射(ORM)功能,使得开发者可以方便地与数据库交互。但是,在使用 Hibernate 时,我们经常会遇到多对多关系的...
4. **泛型DAO**: 在SSH框架中,泛型DAO是一种常见的设计模式,用于封装对数据库的基本操作,如增删查改。通过泛型,我们可以创建一个通用的DAO接口和实现,减少代码重复,提高代码复用。例如,我们可以创建一个`...
在实际开发过程中,我们经常会遇到需要从多个表中获取数据的情况,这时就需要用到连表查询。 #### 1. HBM 映射文件 在提供的内容中,出现了两个HBM映射文件:`TopProductsDeputy.hbm.xml` 和 `TopProducts.hbm.xml...
Hibernate框架Hql语句in中带参数的写法 Hibernate框架中,在使用HQL语句时,需要传递参数,而在HQL语句中使用in关键字时,需要特别注意参数的传递方式。在本文中,我们将讨论如何在HQL语句中使用in关键字带参数的...
《Hibernate技术深度剖析——基于黑马程序员2016版讲义与笔记》 Hibernate,作为Java领域中的一个著名持久化框架,为开发者提供了强大的对象关系映射(ORM)功能,极大地简化了数据库操作。本资料集是黑马程序员...
SSH一对多(两表双向关联查询)是一种在Java Web开发中常见的数据操作方式,主要涉及到Spring、Struts和Hibernate这三大框架的集成使用。在这个场景下,我们将关注于如何通过Hibernate来实现数据库中的两个表——...
Hibernate支持实体类、映射文件、查询语言HQL等多种方式与数据库进行交互,提供了强大的数据检索和事务处理能力。 整合SSH框架通常包括以下几个步骤: 1. 配置Struts2:在Web项目的web.xml中配置Struts2的前端控制...
在实际开发中,HQL关联查询的应用场景非常广泛,特别是在需要跨多个实体进行数据检索的情况下。例如,在电子商务系统中,我们需要获取用户信息及其相关的订单信息时,就可以利用HQL关联查询来简化这一过程。此外,当...
在"ssh框架的模糊查询"这个主题中,我们将深入探讨如何在SSH框架下实现对数据的增删改查(CRUD)操作,以及模糊查询和分页显示功能。 首先,让我们来理解增删改查的基础。在SSH框架中,Struts2作为前端控制器处理...
它提供了Session接口进行数据库交互,简化了SQL编写,同时支持 Criteria 查询和HQL(Hibernate查询语言),增强了数据访问的灵活性。 【Druid数据库连接池】 Druid是阿里巴巴开源的数据库连接池组件,具有优秀的...
在HQL中,处理多对多关系查询通常涉及到联合表(junction table)的概念。联合表是在数据库层面创建的,用于存储两个表之间的关联信息。在Java代码中,这通常通过一个中间实体或集合来表示。例如,对于学生和课程的...