首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >引起SAXParseException的Mybatis <bind>标签

引起SAXParseException的Mybatis <bind>标签
EN

Stack Overflow用户
提问于 2014-04-14 17:40:37
回答 2查看 2.8K关注 0票数 0

我在我的应用中使用了mybatis。我在我的select元素中使用了bind标签。这是我的映射器代码:

代码语言:javascript
复制
<?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="myapp.model.MyDAO">
        <select id="mySelect" parameterType="myapp.model.MyParameterBean" resultType="hashmap">
        <bind name="SL" value="_parameter.getSelectList()" />
        <bind name="TNS" value="_parameter.getTableNameSuffix()" />
        SELECT NAME
        #{SL}
        FROM MYTABLE_#{TNS}
        </select>
    </mapper>

当我尝试编译我的应用程序时,我得到一个SAXParseException。详细的错误消息为:

无法分析映射资源:'file C:\myapp\model\myMapper.xml';嵌套异常为org.apache.ibatis.builder.BuilderException:创建文档实例时出错。原因: org.xml.sax.SAXParseException:必须声明元素类型"bind“。你对这个行为有什么想法吗?

我使用了spring-mvc。对于spring-mybatis集成,我包含了mybatis-spring-1.1.0.jar。

大家好!

EN

回答 2

Stack Overflow用户

发布于 2014-04-14 18:26:25

在我的例子中,完全是dynamic.select列表或表名后缀取决于参数。

代码语言:javascript
复制
<?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="myapp.model.MyDAO">
<select id="mySelect" parameterType="myapp.model.MyParameterBean" resultType="hashmap">
    <bind name="SL" value="_parameter.getSelectList()" />
    <bind name="TNS" value="_parameter.getTableNameSuffix()" />
    SELECT NAME
    #{SL}
    FROM MYTABLE_#{TNS}
</select>
</mapper>
票数 0
EN

Stack Overflow用户

发布于 2014-04-14 18:06:44

<sql><include>标记示例

代码语言:javascript
复制
<sql id="columns">
   SURNAME,ADDRESS
</sql>

<select id="mySelect" resultType="hashmap">
    SELECT NAME,
    <include refid="columns">
    FROM MYTABLE
</select>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23056777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档