mybatis简单实现leftjoin sql
-- 表a      ta (id,aname,bid)
-- 表b      tb (id,bname)
SELECT T1.*, T2.BNAME FROM TA T1 LEFT JOIN TB T2 ON T1.BID = T2.ID
xml
<resultMap id="BaseResultMap" type="pojo.Ta">
<id column="ID" property="id" jdbcType="CHAR"/>
<result column="ANAME" property="aName" jdbcType="VARCHAR"/>
<association column="BID" property="bName" select="TbNameById"/>
</resultMap>
<select id="getTbNameById" resultType="java.lang.String" parameterType="java.lang.String">
SELECT BNAME FROM TB WHERE ID = #{id}
</select>
内部调⽤不需要在mapper接⼝中定义(getTbNameById 只写到l 中即可)
注:resultType or resultMap  和 association的property类型保持⼀致。
多表left joinassociation 传多个参数
<association column="{key1=COL1,key2=COL2}" property="pro" select="hod"/>
parameterType="java.util.Map"
#{key1,jdbcType=VARCHAR}
#{key2,jdbcType=VARCHAR}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。