当前位置: 首页 > 知识库问答 >
问题:

在myBatis中传递多列

丁文轩
2023-03-14

例如,我的mapper.xml文件中有以下xml片段:

<resultMap type="com.mysite.domain.CourseBuilderCourses" id="ResultMapWithAssmnts" extends="BaseResultMap">

    <association property="totalAssignmentCnt" column="course_id" select="selectTotalAssgnmentsCnt"/>
    <association property="totalAssessmentCnt" column="course_id" select="selectTotalAssesmentsCnt"/>  
<!--  see this association >> --> <association property="subscription" column="course_id" select="com.mysite.persistence.mybatis.CourseSubscriptionMapper.selectByUsercId"/> 

  </resultMap>

如您所见, withproperty订阅只有一列course_id

我想传递2列给它,因此得到的代码,我们怎么做?

column="{course_id,user_id}"   // null,null are passed as parameters 
column="course_id,user_id"   // null,null are passed as parameters 
column="{COURSE_ID=course_id,USER_ID=user_id}"   // null,null are passed as parameters 

共有1个答案

公西星海
2023-03-14

对于复合键,您应该使用以下语法:

column="{prop1=col1,prop2=col2}".

其中prop1,prop2是关联查询的参数col1,col2是传递给该查询的sql列。

在您的情况下:

column="{courseId=id,userId=user_id}" 
...
select id, user_id, ... from course ...
<select id="selectByUsercId" ...>
    select ... where course_id=#{courseId} and user_id=#{userId}
</select>
 类似资料:
  • 这是我的映射器 我拥有的firmDBName是从我的“主数据库”中获得的。 > 如果我在第二个查询中省略了${firmDBName},则该查询试图访问我的主数据库,并抛出表“primarydb.frm_dealer_type”未找到。因此,它基本上是试图在我的主数据库中搜索一个名为“frm_dealer_type”的表。 如果我尝试重写@result null 我想要一个解决方案来将我的参数fir

  • 我想计算PySpark数据帧的两列之间的Jaro Winkler距离。Jaro-Winkler距离可通过所有节点上的pyjarowinkler包获得。 pyjarowinkler的工作原理如下: 输出: 我试图编写一个UDF,将两列作为序列传递,并使用lambda函数计算距离。我是这样做的: 我应该能够在上述函数中传递任意两个字符串列。我得到以下输出: 预期产出: 我怀疑这可能是因为不正确。它包含

  • 但是,当我试图将此代码更改为以下代码时,我得到了一个错误-错误:Main method,在类MyClass中找不到,请将Main method,定义为:public static void Main(string[]args)。我需要接收owner和consumerName作为我的程序的参数/输入。 ,这是怎么做到的?

  • 我正在编写一个用户定义的函数,它将接受数据帧中除第一列之外的所有列,并进行求和(或任何其他操作)。现在,数据帧有时可以有3列或4列或更多。会有所不同。 我知道我可以在UDF中硬编码4个列名作为传递,但在这种情况下它会有所不同,所以我想知道如何完成它? 这里有两个示例,第一个示例中我们有两列要添加,第二个示例中有三列要添加。

  • 本文向大家介绍Mybatis传递多个参数进行SQL查询的用法,包括了Mybatis传递多个参数进行SQL查询的用法的使用技巧和注意事项,需要的朋友参考一下 PS:ibatis3如何传递多个参数有两个方法:一种是使用java.Map,另一种是使用JavaBean。 当只向xxxMapper.xml文件中传递一个参数时,可以简单的用“_parameter”来接收xxxMapper.java传递进来的参

  • 问题内容: 我的Mybatis中有一个查询,其中包含一个IN子句,该子句基本上是一组Id(整数) 我现在停留在如何将一个Integer数组传递给此IN子句上,以便它提取正确的记录。尝试通过将一个包含ID的String传递给IN子句,但这无法按预期工作。 下面的代码示例 Mybatis方法使用注释 询问 方法调用 这不起作用,当我调用mapper方法时,Mybatis引发错误 有什么建议吗 问题答案