1、问题概述?
springboot整合mybatisplus启动的时候报错信息如下:
2024-03-20 10:12:19.239 ERROR 17840 --- [ main] c.b.m.core.MybatisConfiguration : mapper[com.hazq.hazqoa.mapper.DutyTrunsMapper.dutyTrunsExistence] is ignored, because it exists, maybe from xml file
Parsed mapper file: 'file [E:\projectworkspacetotal\hazqoasystem\hazqoasystem\target\classes\com\hazq\hazqoa\mapper\DutyTrunsMapper.xml]'
Initialization Sequence datacenterId:0 workerId:30
意思就是:
这个报错信息表明某个配置或者文件被忽略了,因为它已经存在,可能是从一个XML文件中读取的。这通常发生在配置管理或版本控制系统中,当尝试应用或合并配置更改时。
2、解决办法
根据提示查看你自己的xml文件中应该出现了重复的id命名,我的文件如下:
有两个id一样的select
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.hazq.hazqoa.mapper.DutyTrunsMapper">
<!-- 判断数据的存在性 -->
<select id="dutyTrunsExistence" parameterType="DutyTruns" resultType="int">
SELECT COUNT(id) FROM dutytruns WHERE dutyshift=#{dutyshift} AND dutytimeday=#{dutytimeday}
</select>
<!-- 根据班次和时间获取已有的班次信息 -->
<select id="dutyTrunsExistence" parameterType="DutyTruns" resultType="DutyTruns">
SELECT * FROM dutytruns
WHERE dutyshift=#{dutyshift} AND dutytimeday=#{dutytimeday}
</select>
</mapper>