Mybatis:选择注释中的“小于”问题
我正在使用java7,spring 3和mybatis
啪.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>
<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>
在使用基于注释的Select时,我遇到了一个奇怪的问题,下面提到的代码由于使用<(小于)而引发异常,而>(大于)按预期工作。
<script>
SELECT * FROM STUDENT
WHERE DEPARTMENT_ID = #{depId}
<if test='joiningDate != null'> AND STUDENT_ID <= #{joiningDate} </if>
</script>
在谷歌搜索了一段时间后,我发现下面报告的这个问题。
https://code.google.com/p/mybatis/issues/detail?id=787
上述问题可以通过将<(小于)替换为“来修复,如下所示。<
<script>
SELECT * FROM STUDENT
WHERE DEPARTMENT_ID = #{depId}
<if test='joiningDate != null'> AND STUDENT_ID <= #{joiningDate} </if>
</script>
我还遇到了在我还没有尝试过的受人尊敬的场景中使用CDATA或^的建议。
问题:
- 我的问题是,Mybatis团队不应该解决这个问题(至少是常用查询标签的xml特定转换),或者这种行为符合预期,因为我们正在使用标签?
<script>
- 是否有任何替代解决方案,我错过了?