使用mybatis include注意事项

文章讨论了在Java的Mapper接口中,不同mapper中使用相同sqlid时,如何避免命名空间冲突,特别是当一个mapper引用另一个mapper的SQL时,需要确保正确指定命名空间以调用预期的columnList。
摘要由CSDN通过智能技术生成

第一个mapper

<mapper namespace="com.org.srv.mapper.ive.aMapper">

<sql id='columnList'>
    aid,aname,age
</sql>

<sql id='queryList'>

select <com.org.srv.mapper.ive.aMapper.columnList> from aBiao

</sql>

</mapper>

第二个mapper

<mapper namespace="com.org.srv.mapper.ive.bMapper">

<sql id='columnList'>
id,name,age
</sql>


<select id="getList" >

    <include sql ='com.org.srv.mapper.ive.aMapper.queryList'/>

</select>

</mapper>

在第二个mpper中引用第一个mapper的 queryList 需要加上mapper的命名空间

由于两个mapper中都有 columnList 发现会存在  queryList 中引用的  columnList 在程序运行时,调用的是第二个mapper的  columnList .

如果想要继续调用第一个mapper的  columnList ,则需要加上完整的命名空间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值