1、mapper文件中:

List<Object> getXXXXX(@Param("taskId")String taskId,@Param("taskType")String taskType);

2、xml文件中

<select id="" resultMap="" >
     select tst.id subTaskId,......
      from ......
</select>
  <resultMap type="" id="">
          <id property="id" column=""/>
        <result property="" column=""/>
        .....
       <collection property="返回结果的key,对应实体内的字段" ofType="这里是查询返回的类型" 
            column="{subTaskId=subTaskId,taskType=taskType}" select="getVails"/>
  </resultMap>
  <select id="getVails" parameterType="java.util.Map" resultType="">
  	<choose>
  		<when test="taskType == '6'.toString">
  			SELECT .......
		    from ......
		    where 
			   xxxxx = #{subTaskId}
  		</when>
  		<otherwise>
  		    SELECT ......
		    from ......	
		    where 
			   xxxx = #{subTaskId}
  		</otherwise>
  	</choose>     	
 </select>

重点是   column="{subTaskId=subTaskId,taskType=taskType}"    这句

和   parameterType="java.util.Map"  这句

注意:在这里省略了很多不必要的东西,不必介意,只需要看重点就好,如果有什么问题,可留言,我回及时回答的

1、mapper文件中:List&amp;lt;Object&amp;gt; getXXXXX(@Param(&quot;taskId&quot;)String taskId,@Param(&quot;taskType&quot;)String taskType);2、xml文件中&amp;lt;select id=&quot;&quot; resultMap=&quot;&quot; &amp;gt;     select tst.id subTaskId,......   
<resultMap id="Organ" type="com.pskj.GSLZ.pojo.zfzb.Organ" > <result column="OR_ID" property="OR_ID" jdbcType="VARCHAR"></result> <result column="OR_NAME" property="OR_NAME" jdbcType="VARCHAR"></result>
Mybatis-高级结果映射(多对一、一对多查询处理) 如果这个世界总是这么简单就好了。 MyBatis 创建的一个思想是:数据库不可能永远是你所想或所需的那个样。 我们希望每个数据库都具备良好的第三范式或 BCNF 范式,可惜它们并不都是那样。 如果能有一种数据库映射模式,完美适配所有的应用程序,那就太好了,但可惜也没有。 而 ResultMap 就是 MyBatis 对这个问题的答案。 resultMap元素有很多元素和一个值得深入探讨的结构。 下面是resultMap 元素的概念视图。 查询结果为List<UserInfoVo>,其UserInfoVo实体,有private List<RoleInfoList> roleInfoList;属性,也就是说,每条用户记录都对应了一个角色list,我这里是举例几个属性 直接分析xml,解决具体的实现问题 首先定义result,并设置唯一标识id,注意相关类型设置
假设我们有两个表,一个是`orders`表,一个是`order_items`表,`orders`表和`order_items`表是一对多的关系,即一个订单可以包含多个订单项。 我们要查询订单列表,同查询每个订单的所有订单项。如果某个订单没有订单项,我们不希望该订单出现在结果集。可以按照以下步骤实现: 1. 在`Order`类定义一个`List<OrderItem>`类型的属性`orderItems`,并提供getter和setter方法。 ```java public class Order { private Long id; private Date createTime; private List<OrderItem> orderItems; // getter和setter方法省略 2. 撰写XML映射文件,使用`<select>`元素执行一对多查询。 ```xml <select id="getOrdersWithOrderItems" resultMap="OrderWithOrderItemsResultMap"> SELECT o.id, o.create_time, oi.id AS order_item_id, oi.order_id, oi.product_name, oi.product_price, oi.product_quantity FROM orders o LEFT JOIN order_items oi ON o.id = oi.order_id WHERE oi.order_id IS NOT NULL </select> <resultMap id="OrderWithOrderItemsResultMap" type="Order"> <id property="id" column="id" /> <result property="createTime" column="create_time" /> <collection property="orderItems" ofType="OrderItem"> <id property="id" column="order_item_id" /> <result property="orderId" column="order_id" /> <result property="productName" column="product_name" /> <result property="productPrice" column="product_price" /> <result property="productQuantity" column="product_quantity" /> </collection> </resultMap> 3. 在`OrderMapper`接口声明方法`getOrdersWithOrderItems`,并使用`@ResultMap`注解指定结果集映射。 ```java public interface OrderMapper { @Select("getOrdersWithOrderItems") @ResultMap("OrderWithOrderItemsResultMap") List<Order> getOrdersWithOrderItems(); 在上述XML映射文件,我们使用了LEFT JOIN来保证即使某个订单没有订单项,该订单也会出现在结果集,但是在WHERE使用了`oi.order_id IS NOT NULL`这个条件来排除掉没有订单项的订单。这样就可以实现查询查询为空则不显示的效果了。
springboot:redis报错io.lettuce.core.RedisCommandExecutionException: ERR Client sent AUTH, but no passw 73183 【git】idea使用update提示Can't Update No tracked branch configured for branch master or the branch doe... 解决了,谢谢! vue 使用 sortablejs 拖着el-table行,使行顺序修改 tzpkd: 这样写只能拖拽一次啊 原始GPS坐标(WGS-84)转成百度的经纬度,零误差 小洁癖Jieie: 好用,功能实现了,感谢大佬的方法 原始GPS坐标(WGS-84)转成百度的经纬度,零误差 MCNS_37: 必须点赞,比百度的convertWGS84ToBaidu函数好用多了,百度的转完之后坐标都在飞,明明直线行驶都在抖。