mapper.xml中SQL小于号与大于号转译处理

Mybatis框架的mapper映射文件中编写的sql不识别<,>这些符号,解决方法,使用特殊符号转译

< <= > >= &
&lt; &lt;= &gt; &gt;= &amp;
<![CDATA[ < ]]> <![CDATA[ <= ]]> <![CDATA[ > ]]> <![CDATA[ >= ]]> <![CDATA[ & ]]>

案例:查询学生成绩大于等于80的学生信息

 
<select id="selectStudent" parameterType="com.lyj.domain.Student" resultMap="StudentMap">
    select
        <include refid="Base_Column_List"/>
    from link_student
    where 1=1
        <if test="student.score!= null">
           and score >= #{student.score}
        </if>
</select>

上面的>号是编译不通过的,需要用特殊符号处理

<select id="selectStudent" parameterType="com.lyj.domain.Student" resultMap="StudentMap">
    select
        <include refid="Base_Column_List"/>
    from link_student
    where 1=1
        <if test="student.score!= null">
            and score &gt;= #{student.score}
        </if>
</select>
<select id="selectStudent" parameterType="com.lyj.domain.Student" resultMap="StudentMap">
    select
        <include refid="Base_Column_List"/>
    from link_student
    where 1=1
        <if test="student.score!= null">
            and score <![CDATA[ >= ]]> #{student.score}
        </if>
</select>

猜你喜欢

转载自blog.csdn.net/liyingjie2001/article/details/127925520