簡體   English   中英

第一次運行MyBatis時出現錯誤信息

[英]Error Message When Running MyBatis at the first time

我第一次在JBOSS中運行我的應用程序時遇到一個奇怪的問題:錯誤信息是:

javax.servlet.ServletException: java.lang.IllegalArgumentException: Mapped Statements collection already contains value for project.services.dao.workerDAO.getAllWorkers
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:535)
    org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:433)
    org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125)
    org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

映射文件:project.services.dao.sql.workerDAO.xml

<?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="project.services.dao.workerDAO">

    <select id="getAllWorkers" parameterType="java.lang.String"
        resultType="Worker">

         Select wrk.Id As workerId, wrk.Nm As workerName
         From Worker wrk

    </select>

</mapper>

但是,第二次沒有錯誤消息。 任何幫助將不勝感激。 謝謝大家。

我遇到了同樣的麻煩,最后我發現原因是在映射xml文件時有重復的sql id。

我希望這對你有所幫助。

這似乎是MyBatis中的一個錯誤。 java類workerDAO不能與mapper workerDAO.xml具有相同的名稱。 因此,嘗試將mapper更改為workerMapper.xml然后進行測試。 請閱讀本文以獲取更多信息。 我希望它有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM