当我们再xml中定义两个方法名相同参数不同执行时却抛出The error may exist in com.xxx.xml,
出现问题的原因:
1)读取并解析mapper.xml文件时解析到我们的sql语句时如下图
在这里插入图片描述
context包含内容

<mapper namespace="com.easyexcel.xiajing2PrintExcel.Xiajing2inter.XiajingTest">
<sql id="test">
        id as id,name as `name`
    </sql>
<sql id="tes1">
        id as id,name as `name`
    </sql>
<select resultType="java.util.Map" id="list">
         select x.payer_bank as bank,x.payer_name as clientName,x.payer_account as dealAccount,x.trade_date as trade_date,x.trading_hour as trading_hour,x.ymoney as money,
        x.payee_account as opponentAccount,x.payee_name as opponentName,x.payee_bank as opponentBankName,x.`use` as `use`,x.report as report,x.tradingplace as tradingplace,x.deal_way as dealWay
        from xiajing2 x limit 0,5000000
    </select>
</mapper>

读取我们的全部sql语句并遍历
在这里插入图片描述
创建XMLStatementBuilder对象并调用parseStatementNode();
parseStatementNode()会从对象中读取方法名称
在这里插入图片描述
构建MappedStatement,
在这里插入图片描述
最后将MappedStatement添加到configuration.addMappedStatement(statement);中
configuration内部维护了一个map集合
在这里插入图片描述
并重写了put方法
在这里插入图片描述
因此两个方法名相同的不能重载

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐