java - 第一次运行 MyBatis 报错信息

标签 java jboss mybatis

第一次在 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。

关于java - 第一次运行 MyBatis 报错信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15536145/

相关文章:

java - 文件上传在 spring mvc 和 tomcat6 中不起作用

java - 映射值应该声明为常量还是枚举?

java - com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException : Column 'hourId' cannot be null

java - MyBatis - 缓存刷新后不更新嵌套结果

java - 如何将连接传递给 Mybatis

java - 如何访问由构造函数创建的对象变量

postgresql - 2个Docker容器(JBOSS/DATABASE)之间的网络连接

java - 在 JBoss EAP 6.0.1 中更改端口号

intellij-idea - Intellij IDEA 中内置的 war 文件在哪里?

java - 如何在mybatis select中编写select标签