亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Mapped Statements collection already contains value for簡直了,根本不知道錯在哪

Caused by: org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [H:\JAVA practice\seckill\target\classes\mapper\SecKillDao.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for com.imooc.seckill.dao.SecKillDao.reduceNumber

at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:484)

at org.mybatis.spring.SqlSessionFactoryBean.afterPropertiesSet(SqlSessionFactoryBean.java:355)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1687)

at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1624)

... 39 more

Caused by: org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for com.imooc.seckill.dao.SecKillDao.reduceNumber

at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:120)

at org.apache.ibatis.builder.xml.XMLMapperBuilder.parse(XMLMapperBuilder.java:92)

at org.mybatis.spring.SqlSessionFactoryBean.buildSqlSessionFactory(SqlSessionFactoryBean.java:482)

... 42 more

Caused by: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for com.imooc.seckill.dao.SecKillDao.reduceNumber

at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:837)

at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:809)

at org.apache.ibatis.session.Configuration.addMappedStatement(Configuration.java:633)

at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:302)

at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:109)

at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:135)

at org.apache.ibatis.builder.xml.XMLMapperBuilder.buildStatementFromContext(XMLMapperBuilder.java:128)

at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:118)

... 44 more


正在回答

5 回答

鐵子??纯茨愕膍ybatis-config.xml

<mappers>
????<mapper?resource="mapper/SeckillDao.xml"/>
</mappers>

這個刪掉。和spring-dao 的配置重復了

0 回復 有任何疑惑可以回復我~
#1

慕雪7260907

我是因為這個問題,我真服了,感謝
2023-08-02 回復 有任何疑惑可以回復我~

public interface SecKillDao {
? ?/**
? ? * 減庫存
? ? * @param seckillId
? ? * @param killTime
? ? * @return 返回值>1,表示表中插入的行數
? ? */
? ?int reduceNumber( long seckillId, ?Date killTime);

? ?SecKill queryById(long seckillId);

? ?/**
? ? * 查列表,偏移量表示要多少
? ? * @param offset
? ? * @param limit
? ? * @return
? ? */
? ?List<SecKill> queryAll(int offset, int limit);
}



0 回復 有任何疑惑可以回復我~

還有SecKillDao也貼一下,reduceNumber的參數有異常。

0 回復 有任何疑惑可以回復我~
#1

光明偉岸的春哥大人 提問者

樓下,SecKillDao的代碼
2017-04-30 回復 有任何疑惑可以回復我~

<?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.imooc.seckill.dao.SecKillDao">

? ?<update id="reduceNumber">
? ? ? ?update
? ? ? ?seckill
? ? ? ?set
? ? ? ? ?number=number-1
? ? ? ?where
? ? ? ? ?seckill_id = #{seckillId}
? ? ? ?and start_time <![CDATA[<=]]> #{killTime},
? ? ? ?and end_time >= #{killTime},
? ? ? ?and number>0
? ?</update>

? ?<select id="queryById" parameterType="long" resultType="SecKill">
? ? ? ?SELECT seckill_id,name,number,start_time,end_time,create_time
? ? ? ?FROM seckill
? ? ? ?WHERE seckill_id = #{seckillId}
? ?</select>
? ?
? ?<select id="queryAll" resultType="SecKill" >
? ? ? ?SELECT seckill_id,name,number,start_time,end_time,create_time
? ? ? ?FROM seckill
? ? ? ?ORDER BY create_time DESC
? ? ? ?limit #{offset},#{limit}
? ?</select>
</mapper>

0 回復 有任何疑惑可以回復我~

根據錯誤提示應該是SecKillDao.xml這個文件解析出錯,仔細檢查下這個文件,看哪里配置有問題。

0 回復 有任何疑惑可以回復我~
#1

光明偉岸的春哥大人 提問者

樓下有我的SecKillDao.xml,我還是沒有找出錯在哪里了
2017-04-28 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

Mapped Statements collection already contains value for簡直了,根本不知道錯在哪

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號