应用场景:
应用所取的结果集中需要嵌入别的SQL的结果集。
<resultMap type="com.kevin.wallet.dto.CardsDetailResponse" id="cardsDetailResponse">
<result property="walletID" column="wallet_id"/>
<result property="totalAmount" column="totalAmount"/>
<result property="pageNumber" column=""/>
<result property="totalNumber" column="totalNumber"/>
[color=red]<association property="bailianAmount" column="{id=WALLET_ID}" select="getBailianAmount" />
<association property="okAmount" column="{id=WALLET_ID}" select="okAmount" />[/color]
[color=yellow]<collection property="cards" ofType="com.kevin.wallet.dto.ListCardInforResponse" >
<result property="cardNo" column="CARD_ID"/>
<result property="cardName" column="CARD_NAME"/>
<result property="balanceValue" column="BALANCE_VALUE"/>
<result property="validateTill" column="FROZEN_AT"/>
<result property="cardType" column="TYPE"/>
<result property="isForbidden" column="IS_FORBIDDEN"/>
<result property="alias" column="CARD_ALIAS"/>
<result property="status" column="STATUS"/>
<result property="order" column="CARD_ORDER"/>
</collection>[/color]
</resultMap>
<select id="getBailianAmount" parameterType="java.util.Map" resultType="java.math.BigDecimal">
SELECT
SUM(BALANCE_VALUE) as BAILIANAMOUNT
FROM(
SELECT
*
FROM
AVALIABLE_MEMBER_CARD member
WHERE
member.WALLET_ID = [color=red]#{id}[/color]
UNION
SELECT
*
FROM
AVALIABLE_PRODUCT_CARD product
where
product.WALLET_ID = [color=red] #{id}[/color]
)where TYPE=1 or TYPE=3
GROUP BY WALLET_ID
</select>
association 是对应数据库中一对一的关系,它会将getBailianAmount sql语句的返回值赋给bailianAmount这个属性。column这个属性用于设置getBailianAmount sql语句的传入参数。
column="{id=WALLET_ID}" 意思是将WALLET_ID列作为getBailianAmount sql语句的参数,id对应map的key, sql语句通过#{id}来获取该key的值。
分享到:
相关推荐
此资源是基于SSM(Spring+SpringMVC+MyBatis)的高级整合,项目中利用前端框架bootstrap快速搭建简洁优美的界面,进行对mysql的增,删,改,查的基础操作。是一个非常适合新手学习的例子!!商品系统导入可用留言我可...
除此之外,MP还提供了其他的高级功能,如:枚举、插件、ActiveRecord、SQL注入等。 本课程全面讲解了Mybatis-Plus框架的使用,从快速入门到原理分析再到插件的应用。每一个知识点都有案例进行演示学习,最终通过学习...
MyBatis是支持普通SQL查询,存储过程和高级映射的优秀持久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plan ...
此资源是基于SSH(Spring+SpringMVC+MyBatis)的高级整合,项目中利用前端框架bootstrap快速搭建简洁优美的界面,进行对mysql的增,删,改,查的基础操作。是一个非常适合新手学习的例子
相比之下,MyBatis Plus则提供了更为丰富的功能,如自动注入基本CRUD操作、强大的条件构造器、支持Lambda形式调用等,这些特性使得开发者能够更高效地进行数据库操作。 ## 2.2 使用方式 MyBatis在使用时需要开发者...
基于SSM(Spring-SpringMVC-MyBatis)的高级整合(增删改查功能)电影
MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除了几乎所有的 JDBC 代 码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的...
主要介绍了springboot2.3 整合mybatis-plus 高级功能,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
此资源是基于SSM(Spring+SpringMVC+MyBatis)的高级整合,项目中利用前端框架bootstrap快速搭建简洁优美的界面,进行对mysql的增,删,改,查的基础操作。是一个非常适合新手学习的例子!!前台使用的是easyui
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和原始类型、接口和 Java ...
第2篇是MyBatis技术入门,包括剖析JDBC的弊端、MyBatis的背景介绍、入门程序的编写、配置文件的剖析、高级映射及缓存结构的讲解,最后还介绍了MyBatis与Spring框架的整合。第3篇是Spring MVC技术入门,包括Spring ...
MyBatis的功能架构分为三层:API接口层、数据处理层。 MyBatis对JDBC访问数据库的过程进行了封装,简化了JDBC代码,解决了JDBC将结果集封装为Java对象的麻烦。对查询SQL执行后返回的ResultSet对象,Mybatis会帮我们...
主要介绍了springboot2.3 整合mybatis-plus 高级功能,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
支持自定义SQL、存储过程以及高级映射:MyBatis允许开发者根据业务需求自定义SQL语句和存储过程,并支持高级映射功能,如一对一、一对多、多对一等复杂关系的映射。 简化CRUD操作:CRUD(创建、读取、更新
mybatis动态sql 1.什么是动态SQL? Mabits是一个Java持久化框架,它提供了动态SQL的功能。动态SQL是一种根据不同条件动态生成SQL语句的技术。在Mabits中,动态SQL通常是通过使用一组特殊的标签和代码块来实现的,...
此资源是基于SSM(Spring+SpringMVC+MyBatis)的高级整合,项目中利用前端框架bootstrap快速搭建简洁优美的界面,进行对mysql的增,删,改,查的基础操作。是一个非常适合新手学习的例子
去这里也可以直接看,这个只是源码而已而且有个小bug,解决了就说明你ok了,哈哈哈哈哈 https://blog.csdn.net/qq_42094345/article/details/109599850