Java 迈巴蒂斯:“我的朋友。”;少于;选择注释中的问题
我正在使用java7、Spring3和mybatis Pom.xmlJava 迈巴蒂斯:“我的朋友。”;少于;选择注释中的问题,java,spring,mybatis,Java,Spring,Mybatis,我正在使用java7、Spring3和mybatis Pom.xml <org.mybatis-version>3.2.8</org.mybatis-version> <org.mybatis-spring-version>1.2.2</org.mybatis-spring-version> <dependency> <groupId>org.mybatis</groupId> <arti
<org.mybatis-version>3.2.8</org.mybatis-version>
<org.mybatis-spring-version>1.2.2</org.mybatis-spring-version>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>${org.mybatis-version}</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>${org.mybatis-spring-version}</version>
</dependency>
我还遇到了一些建议,建议在我尚未尝试过的受人尊敬的场景中使用CDATA或^
问题:
- 我的问题是,这个问题不应该由Mybatis团队解决(至少对于经常使用的查询标记进行特定于xml的转换)吗?或者,由于我们使用的是
标记,所以这种行为是预期的吗 - 是否有我遗漏的其他解决方案李>
公平地说,这不是MyBatis中的问题,而是XML解析的行为 如果您不需要
你也可以使用它
当您将替换为时,会发生什么错误?它的工作原理与上面提到的一样完美,但我的问题是,这不是一个解决方案,然后才是实际的修复方案吗?或者有我不知道的修复方法吗?这是唯一的解决方案。在XML文件中,我们始终必须使用ascii值作为&;等等。对于Mybatis来说,这条规则不会有任何例外。是的。。。。我也相信CDATA是更好的选择,正如我在评论中提到的,CDATA是一种选择。虽然我只是希望Mybatis能在内部解决这个问题。与其他XML解析器不同的是,这一解析器用于用户将要面对的有点可预测的查询。至少有一点是不值得期待的:PI认为这不是在MyBatis中处理它的好方法。在
中仍然需要解析一些标记,如
,
等,目前可能还有更多。更改常见的xml解析行为既不高效也不可扩展。我不是要更改xml行为,而是要在默认情况下添加cdata标记或HTML编码类似于“小于”的字符,您可以执行
,或
,但不能同时执行这两种操作。=
<script> SELECT * FROM STUDENT WHERE DEPARTMENT_ID = #{depId} <if test='joiningDate != null'> AND STUDENT_ID <= #{joiningDate} </if> </script>
<script> SELECT * FROM STUDENT WHERE DEPARTMENT_ID = #{depId} <if test='joiningDate != null'> AND STUDENT_ID <= #{joiningDate} </if> </script>
<script> SELECT * FROM STUDENT WHERE DEPARTMENT_ID = #{depId} <if test='joiningDate != null'> <![CDATA[ AND STUDENT_ID <= #{joiningDate} ]]> </if> </script>
<script> SELECT * FROM STUDENT WHERE DEPARTMENT_ID = #{depId} <if test='joiningDate != null'> <![CDATA[ AND STUDENT_ID >= #{joiningDate} ]]> </if> </script>