Om.*_*Om. 3 java spring mybatis
我使用的是java7,spring 3和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>
<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>
Run Code Online (Sandbox Code Playgroud)
虽然使用基于注释的Select我遇到了一个奇怪的问题,其中下面提到的代码由于使用<(Less then)而抛出异常而while(大于)按预期工作.
<script>
SELECT * FROM STUDENT
WHERE DEPARTMENT_ID = #{depId}
<if test='joiningDate != null'> AND STUDENT_ID <= #{joiningDate} </if>
</script>
Run Code Online (Sandbox Code Playgroud)
谷歌搜索了一段时间后,我发现下面报告的这个问题.
https://code.google.com/p/mybatis/issues/detail?id=787
上面的问题可以通过替换<(less then)来解决<,如下所示.
<script>
SELECT * FROM STUDENT
WHERE DEPARTMENT_ID = #{depId}
<if test='joiningDate != null'> AND STUDENT_ID <= #{joiningDate} </if>
</script>
Run Code Online (Sandbox Code Playgroud)
我也遇到了在我所未尝试过的受尊重场景中使用CDATA或^的建议.
题:
<script>标签?Lan*_*dys 24
公平地说,这不是问题MyBatis,而是XML解析的行为.
如果您不希望解析诸如<和之类的字符&,则可以使用该术语CDATA来阻止XML解析器解析此类文本.有关详细信息,请参阅http://www.w3schools.com/xml/xml_cdata.asp.或者你可以用<评论来逃避它.
IE
<script>
SELECT * FROM STUDENT
WHERE DEPARTMENT_ID = #{depId}
<if test='joiningDate != null'>
<![CDATA[
AND STUDENT_ID <= #{joiningDate}
]]>
</if>
</script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18652 次 |
| 最近记录: |