`
y806839048
  • 浏览: 1119636 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

mysql一对多关联查询

 
阅读更多
<resultMap id="AssociationResultMap" type="com.wondersgroup.employeeBenefits.core.bases.dto.OrderInfoDto">
<result column="EMP_ID" jdbcType="BIGINT" property="empId" />
<result column="ADDRESSEDID" jdbcType="BIGINT" property="addressedid" />
    <result column="EMP_NAME" jdbcType="VARCHAR" property="empName" />
    <result column="CREATE_TIME" jdbcType="TIMESTAMP" property="createTime" />
    <result column="TOTAL_PRICE" jdbcType="DOUBLE" property="totalPrice" />
    <result column="SCORE_NUM_TOTAL" jdbcType="DOUBLE" property="scoreNumTotal" />
    <result column="CASH_TOTAL" jdbcType="DOUBLE" property="cashTotal" />
    <result column="ORDER_NO" jdbcType="VARCHAR" property="orderNo" />
    <result column="ORDER_STATE" jdbcType="VARCHAR" property="orderState" />
    <result column="PAYMENT_TIME" jdbcType="TIMESTAMP" property="paymentTime" />
    <result column="FINISHED_TIME" jdbcType="TIMESTAMP" property="finishedTime" />
<result column="STATU_NAME" jdbcType="VARCHAR" property="statuName" />
<!-- ofType指定订单中商品对象类型 -->
        <collection column="{orderNo=ORDER_NO,orgId=ORG_ID,orgName=ORG_NAME,goodTypeId=FORM,
        goodId=GOOD_ID,goodName=GOOD_NAME,goodState=GOOD_STATE}" //查询子集用于关联的字段,来源于1参数2,查询出来的父,右边的是父(或父的其他子查询中值)左边的是关联子ofType="com.wondersgroup.employeeBenefits.core.bases.dto.OrderGoodDto" property="goods" select="getGoods" />
</resultMap>


<resultMap id="OrderGoodsResultMap" type="com.wondersgroup.employeeBenefits.core.bases.dto.OrderGoodDto">
<id column="ID" property="id" jdbcType="BIGINT"/>
    <result column="ORDER_NO" property="orderNo" jdbcType="VARCHAR" />
    <result column="GOOD_ID" property="goodId" jdbcType="BIGINT" />
    <result column="GOOD_TYPE_ID" property="goodTypeId" jdbcType="BIGINT" />
    <result column="GOOD_NUM" property="goodNum" jdbcType="INTEGER" />
    <result column="GOOD_NAME" property="goodName" jdbcType="VARCHAR" />
    <result column="GOOD_PRICE" property="goodPrice" jdbcType="DOUBLE" />
    <result column="GOOD_STATE" property="goodState" jdbcType="VARCHAR" />
    <result column="STATU_NAME" jdbcType="VARCHAR" property="statuName" />
    <result column="ORG_NAME" jdbcType="VARCHAR" property="orgName" />
    <result column="FINISHED_TIME" property="finishedTime" jdbcType="TIMESTAMP" />
</resultMap>







<select id="getOrderInfo" parameterType="hashmap" resultMap="AssociationResultMap">
SELECT DISTINCT a.*, #{orgId} AS ORG_ID , #{orgName} AS ORG_NAME ,#{goodId} AS GOOD_ID ,
#{goodTypeId} AS FORM ,#{goodName} AS GOOD_NAME ,#{orderState} AS GOOD_STATE ,(
SELECT e.TITLE FROM YFY_DICT_DATA e WHERE e.ID = a.ORDER_STATE
) as STATU_NAME
FROM YFY_ORDER_INFO a , YFY_ORDER_GOOD g
WHERE a.ORDER_NO = g.ORDER_NO
<if test="goodTypeId!=null and goodTypeId!=''">
AND EXISTS (SELECT 1 FROM YFY_GOODS_INFO good
WHERE good.ID = g.GOOD_ID AND good.FORM = #{goodTypeId})
</if>
<if test="id!=null and id!=''">
AND a.id = #{id}
</if>
</select>

=================
@Table(name = "YFY_ORDER_INFO")
public class OrderInfoDto extends OrderInfo {
private static final long serialVersionUID = -207966556598808986L;

@Transient
private List<OrderGoodDto> goods;

====================

Map<String, Object> paraMap = new HashMap<String, Object>();
// Employee employee = employeeService.getEmployeeByUserId(Long
// .valueOf(userId));
paraMap.put("id", orderId);
OrderInfoDto orderifo = (OrderInfoDto) orderService.getOrderInfo(paraMap);


分享到:
评论

相关推荐

    mysql一对多关联查询分页错误问题的解决方法

    总结一下,解决MySQL一对多关联查询分页错误的关键在于正确处理分页逻辑,将分页操作融入到关联查询的主表部分,同时确保传入的参数正确。这样做可以确保在处理复杂的一对多关联查询时,分页结果的准确性和完整性。...

    MySQL 多表关联一对多查询实现取最新一条数据的方法示例

    本文实例讲述了MySQL 多表关联一对多查询实现取最新一条数据的方法。分享给大家供大家参考,具体如下: MySQL 多表关联一对多查询取最新的一条数据 遇到的问题 多表关联一对多查询取最新的一条数据,数据出现重复 ...

    实例讲解Java的MyBatis框架对MySQL中数据的关联查询

    本实例将深入探讨如何使用MyBatis进行MySQL中的关联查询,包括一对多、多对一的关系映射。 首先,我们来看一下涉及的数据表结构。在博客系统中,Author表代表作者,Blog表代表博客,Post表代表文章,Comments表代表...

    mysql多表查询和EXISTS查询性能对比

    NOT IN 是一种常见的排除条件查询方式,在多表关联查询中用于排除特定记录。例如,如果想要找出表A中的记录,但排除那些在表B中存在的记录,则可以使用如下SQL语句: ```sql SELECT * FROM tableA WHERE tableA.id ...

    MySQL查询把多列返回结果集拼装成一个字段

    mysql中有种可以通过join相关操作进行表与表之间的方式查询不同结果集,但是在一对多的情况下,关键查询的结果是多条的.例如:班级和学习的关系,我想很直观的看到班级和学生的情况,列表显示出班级的信息和班级的男生...

    MYSQL基础:多表关联查询.docx

    在MySQL数据库中,多表关联查询是数据分析师和开发人员常用的一种高级技能,它能够从多个相关联的数据表中提取并合并所需的信息。这使得我们可以处理复杂的数据需求,获取更全面、更精确的分析结果。以下是对四种...

    myBatis一对一和一对多

    与一对一类似,需要在Mapper XML文件中定义查询语句,并配置一对多的关联。 1. **配置XML映射文件**: 使用`&lt;collection&gt;`标签,`property`表示JavaBean中的集合属性名,` ofType`指明集合中元素的类型,`select`...

    mysql实现多表关联统计(子查询统计)示例

    在MySQL数据库中,进行多表...通过理解这个示例,我们可以学习如何在MySQL中处理复杂的多表关联统计,同时关注性能优化策略,以应对大数据场景下的查询需求。这不仅对数据库管理员,也对开发人员具有重要的实践意义。

    使用Mysql+Maven+Hibernate的一对一,一对多的CURD小案例

    总之,这个小案例旨在展示如何在Java Web应用中利用MySQL、Maven和Hibernate进行数据操作,特别是处理一对一和一对多的关联关系。通过这个案例,开发者可以深入理解这些技术的集成使用,为更复杂的项目打下坚实的...

    Hibernate一对多关联关系小demo

    本篇文章将深入探讨“Hibernate一对多关联关系”这一主题,并结合提供的"hibernateOneToMany"压缩包文件,展示如何实现一个简单的一对多关联关系的小型示例。 首先,我们需要理解Hibernate中的一对多关联关系。在...

    thinkPHP5解决不同服务器不同数据库表关联查询问题

    在这种情况下,如何在thinkPHP5框架下实现跨服务器、跨数据库的表关联查询便成为了一个值得探讨的问题。 #### 一、背景介绍 假设存在两台服务器:服务器A和服务器B,其中服务器A部署了数据库A,主要用于存储用户...

    浅谈mysql中多表不关联查询的实现方法

    然而,在某些场景下,我们需要查询的数据分布在两个或更多互不关联的表中,这时就需要采用不关联查询。 不关联查询,也称为并集查询,主要通过UNION或UNION ALL操作符来实现。这些操作符用于合并两个或多个SELECT...

    三表关联查询

    这些文件可能包含了一些示例数据库和查询,通过运行并分析这些查询的结果,你可以深化对三表关联查询的理解。 总结,三表关联查询是SQL中的重要工具,它能帮助我们处理复杂的数据库关系,获取全面的数据视图。通过...

    mysql子查询与连表查询的效率比较及优化

    为了更好地理解这两种查询方式的特点以及如何优化它们的性能,我们先对它们进行一个简要的介绍。 **子查询(Subquery)**:子查询是指在一个查询语句中嵌套另一个查询语句的方式。子查询可以出现在SELECT、FROM、...

    mysql数据库的多表设计和各种查询(连接查询\子查询\联合查询\报表查询),以及数据库备份和恢复

    MySQL数据库在设计复杂的业务系统时,常常涉及到多表设计,以满足数据的关联性和完整性。在本主题中,我们将深入探讨多表设计的策略、不同的查询方式,以及数据库的备份和恢复方法。 首先,让我们来看多表设计。在...

    mysql中的跨库关联查询方法

    在MySQL中,跨库关联查询是一项重要功能,特别是在处理分布式数据或者需要整合多个数据库信息时。当业务场景涉及关联不同数据库中的表时,传统的查询方式无法满足需求。本文将详细介绍如何在MySQL中进行跨库关联查询...

    mysql 单表多表查询

    SQL(结构化查询语言)是用于与数据库交互的标准语言,其中包括对单表和多表进行查询的操作。 在数据库操作中,查询是至关重要的,它允许我们获取所需的数据并进行分析。单表查询主要涉及从单一表格中检索信息,而...

    mysql语句集合包括模糊查询索引函数

    5. **主外键约束多对多.txt**:多对多关系是数据库设计中常见的关系类型,通常通过创建中间表来实现。 6. **mysql数据类型.txt**:MySQL支持多种数据类型,如INT、VARCHAR、DATE、TEXT等,理解数据类型对于正确存储...

Global site tag (gtag.js) - Google Analytics